summaryrefslogtreecommitdiffstats
path: root/Lib/threading.py
diff options
context:
space:
mode:
authorSkip Montanaro <skip@pobox.com>2001-08-19 04:25:24 (GMT)
committerSkip Montanaro <skip@pobox.com>2001-08-19 04:25:24 (GMT)
commitb446fc7f2749c2335fc301d60e8f011d447875d3 (patch)
treedabdcb7b2f726773f8ad1157d73649fe6cc6293d /Lib/threading.py
parentdbec7d2c166650aa30dc35f373fc337fab35aa28 (diff)
downloadcpython-b446fc7f2749c2335fc301d60e8f011d447875d3.zip
cpython-b446fc7f2749c2335fc301d60e8f011d447875d3.tar.gz
cpython-b446fc7f2749c2335fc301d60e8f011d447875d3.tar.bz2
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.
Diffstat (limited to 'Lib/threading.py')
-rw-r--r--Lib/threading.py9
1 files changed, 9 insertions, 0 deletions
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()