home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.7)
-
- 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 = False
- self.queue = deque()
-
-
- def test(self):
- return self.locked
-
-
- def testandset(self):
- if not self.locked:
- self.locked = True
- return True
- return None
-
-
- 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 = False
-
-
-