diff options
author | Ori Bernstein <ori@eigenstate.org> | 2021-06-14 00:00:37 +0000 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2021-06-14 00:00:37 +0000 |
commit | a73a964e51247ed169d322c725a3a18859f109a3 (patch) | |
tree | 3f752d117274d444bda44e85609aeac1acf313f3 /sys/src/cmd/python/Doc/lib/libmutex.tex | |
parent | e64efe273fcb921a61bf27d33b230c4e64fcd425 (diff) |
python, hg: tow outside the environment.
they've served us well, and can ride off into the sunset.
Diffstat (limited to 'sys/src/cmd/python/Doc/lib/libmutex.tex')
-rw-r--r-- | sys/src/cmd/python/Doc/lib/libmutex.tex | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/sys/src/cmd/python/Doc/lib/libmutex.tex b/sys/src/cmd/python/Doc/lib/libmutex.tex deleted file mode 100644 index 48936904e..000000000 --- a/sys/src/cmd/python/Doc/lib/libmutex.tex +++ /dev/null @@ -1,57 +0,0 @@ -\section{\module{mutex} --- - Mutual exclusion support} - -\declaremodule{standard}{mutex} -\sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il} -\modulesynopsis{Lock and queue for mutual exclusion.} - -The \module{mutex} module defines a class that allows mutual-exclusion -via acquiring and releasing locks. It does not require (or imply) -threading or multi-tasking, though it could be useful for -those purposes. - -The \module{mutex} module defines the following class: - -\begin{classdesc}{mutex}{} -Create a new (unlocked) mutex. - -A mutex has two pieces of state --- a ``locked'' bit and a queue. -When the mutex is not locked, the queue is empty. -Otherwise, the queue contains zero or more -\code{(\var{function}, \var{argument})} pairs -representing functions (or methods) waiting to acquire the lock. -When the mutex is unlocked while the queue is not empty, -the first queue entry is removed and its -\code{\var{function}(\var{argument})} pair called, -implying it now has the lock. - -Of course, no multi-threading is implied -- hence the funny interface -for \method{lock()}, where a function is called once the lock is -acquired. -\end{classdesc} - - -\subsection{Mutex Objects \label{mutex-objects}} - -\class{mutex} objects have following methods: - -\begin{methoddesc}{test}{} -Check whether the mutex is locked. -\end{methoddesc} - -\begin{methoddesc}{testandset}{} -``Atomic'' test-and-set, grab the lock if it is not set, -and return \code{True}, otherwise, return \code{False}. -\end{methoddesc} - -\begin{methoddesc}{lock}{function, argument} -Execute \code{\var{function}(\var{argument})}, unless the mutex is locked. -In the case it is locked, place the function and argument on the queue. -See \method{unlock} for explanation of when -\code{\var{function}(\var{argument})} is executed in that case. -\end{methoddesc} - -\begin{methoddesc}{unlock}{} -Unlock the mutex if queue is empty, otherwise execute the first element -in the queue. -\end{methoddesc} |