ref: a39ae178fcc4387fe63efea4d15b34d52f4a13de
dir: /module/lock.m/
Lock: module
{
PATH: con "/dis/lib/lock.dis";
Semaphore: adt {
c: chan of int;
obtain: fn(nil: self ref Semaphore);
release: fn(nil: self ref Semaphore);
new: fn(): ref Semaphore;
};
init: fn();
};