home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- from warnings import warnpy3k
- warnpy3k('the mutex module has been removed in Python 3.0', stacklevel = 2)
- del warnpy3k
- from collections import deque
-
- class mutex:
-
- def __init__(self):
- self.locked = 0
- self.queue = deque()
-
-
- def test(self):
- return self.locked
-
-
- def testandset(self):
- if not self.locked:
- self.locked = 1
- return True
- return False
-
-
- def lock(self, function, argument):
- if self.testandset():
- function(argument)
- else:
- self.queue.append((function, argument))
-
-
- def unlock(self):
- if self.queue:
- (function, argument) = self.queue.popleft()
- function(argument)
- else:
- self.locked = 0
-
-
-