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