File size: 303 Bytes
cdcab39 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
def get(self, block=1):
if block:
self.esema.acquire()
elif not self.esema.acquire(0):
raise Empty
self.mutex.acquire()
was_full = self._full()
item = self._get()
if was_full:
self.fsema.release()
if not self._empty():
self.esema.release()
self.mutex.release()
return item
|