diff options
Diffstat (limited to 'man/2/lock')
| -rw-r--r-- | man/2/lock | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/man/2/lock b/man/2/lock new file mode 100644 index 00000000..ff9a0fa7 --- /dev/null +++ b/man/2/lock @@ -0,0 +1,39 @@ +.TH LOCK 2 +.SH NAME +lock \- +thread locking. +.SH SYNOPSIS +.EX +include "lock.m"; +lock := load Lock Lock->PATH; +Semaphore: adt { + c: chan of int; + obtain: fn(s: self ref Semaphore); + release: fn(s: self ref Semaphore); + new: fn(): ref Semaphore; +}; +init: fn(); +.EE +.SH DESCRIPTION +.B Lock +provides semaphore-based mutual exclusion. +.B Init +must be called before creating any locks. +.TP +.B Semaphore.new() +Creates and returns a reference to a new +.B Semaphore +(lock). +.TP +.IB s .obtain() +Obtains exclusive access to the lock +.IR s . +It will block until it can do so. +.TP +.IB s .release() +Releases access to the lock +.I s +and allows processes waiting on it to proceed. +.SH SOURCE +.B /appl/lib/lock.b + |
