while self.__value == 0:
if not blocking:
break
+ if __debug__:
+ self._note("%s.acquire(%s): blocked waiting, value=%s",
+ self, blocking, self.__value)
self.__cond.wait()
else:
self.__value = self.__value - 1
+ if __debug__:
+ self._note("%s.acquire: success, value=%s(%s)",
+ self, self.__value, self.__initial_value)
rc = 1
self.__cond.release()
return rc
def release(self):
self.__cond.acquire()
self.__value = self.__value + 1
+ if __debug__:
+ self._note("%s.release: success, value=%s(%s)",
+ self, self.__value, self.__initial_value)
self.__cond.notify()
self.__cond.release()