Critics have remarked that those four worthies were truly peerless throughout the ages; yet the present falls short of the pastβ€”the ancients favored unadorned simplicity, whereas the moderns prefer refined elegance. Styles of substance and ornament rise and fall in succession, shifting with the changing mores of the times; such evolution is simply the natural order of things. The ideal lies in honoring antiquity without clashing with the present, and embracing modernity without succumbing to its flawsβ€”embodying that perfect balance of substance and refinement that defines the true gentleman. There is surely no need to abandon a carved palace in favor of a cave dwelling, or to trade a jade carriage for a primitive cart with solid wooden wheels.🌌 SpectraShell

🌌 SpectraShell

Current path: lib64/python2.7/



⬆️ Go up: /lib64

πŸ“„ Viewing: mutex.pyc

οΏ½
zfc@sPdZddlmZedddοΏ½[ddlmZdd
dοΏ½οΏ½YZd	S(sKMutual exclusion -- for use with module sched

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 0 or more (function, 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 function(argument) pair called,
implying it now has the lock.

Of course, no multi-threading is implied -- hence the funny interface
for lock, where a function is called once the lock is acquired.
iοΏ½οΏ½οΏ½οΏ½(twarnpy3ks/the mutex module has been removed in Python 3.0t
stackleveli(tdequetmutexcBs5eZdοΏ½ZdοΏ½ZdοΏ½ZdοΏ½ZdοΏ½ZRS(cCst|_tοΏ½|_dS(s)Create a new mutex -- initially unlocked.N(tFalsetlockedRtqueue(tself((s/usr/lib64/python2.7/mutex.pyt__init__s	cCs|jS(s!Test the locked bit of the mutex.(R(R((s/usr/lib64/python2.7/mutex.pyttestscCs|jst|_tStSdS(s[Atomic test-and-set -- grab the lock if it is not set,
        return True if it succeeded.N(RtTrueR(R((s/usr/lib64/python2.7/mutex.pyt
testandsets		cCs3|jοΏ½r||οΏ½n|jj||fοΏ½dS(sοΏ½Lock a mutex, call the function with supplied argument
        when it is acquired.  If the mutex is already locked, place
        function and argument in the queue.N(RRtappend(Rtfunctiontargument((s/usr/lib64/python2.7/mutex.pytlock's
cCs8|jr+|jjοΏ½\}}||οΏ½n	t|_dS(s]Unlock a mutex.  If the queue is not empty, call the next
        function with its argument.N(RtpopleftRR(RR
R((s/usr/lib64/python2.7/mutex.pytunlock0s	
(t__name__t
__module__RR	RRR(((s/usr/lib64/python2.7/mutex.pyRs
						N((t__doc__twarningsRtcollectionsRR(((s/usr/lib64/python2.7/mutex.pyt<module>
s



πŸ“