Mine
public text v1 · immutablemen.enter() {
lock();
men.waiting++;
if (women.waiting || women.inside) {
unlock();
men.sleeping.P();
lock();
}
men.waiting--;
men.inside++;
unlock();
}
men.leave() {
lock();
men.inside--;
if (men.inside == 0) {
for (i = 0; i < women.waiting; i++)
women.sleeping.V();
}
unlock();
}