From b446fc7f2749c2335fc301d60e8f011d447875d3 Mon Sep 17 00:00:00 2001 From: Skip Montanaro Date: Sun, 19 Aug 2001 04:25:24 +0000 Subject: add debug calls to self._note for the Semaphore class. This closes bug 443614. I will submit a new feature request and patch to threading.py and libthreading.tex to address the bounded semaphore issue. --- Lib/threading.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Lib/threading.py b/Lib/threading.py index 0936e31..e0d1cc0 100644 --- a/Lib/threading.py +++ b/Lib/threading.py @@ -261,9 +261,15 @@ class _Semaphore(_Verbose): 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 @@ -271,6 +277,9 @@ class _Semaphore(_Verbose): 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() -- cgit v0.12