]> granicus.if.org Git - python/commitdiff
add debug calls to self._note for the Semaphore class. This closes bug
authorSkip Montanaro <skip@pobox.com>
Sun, 19 Aug 2001 04:25:24 +0000 (04:25 +0000)
committerSkip Montanaro <skip@pobox.com>
Sun, 19 Aug 2001 04:25:24 +0000 (04:25 +0000)
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

index 0936e31e408a02b4fb64533be58cd7b539035383..e0d1cc0277c40ee8aabaae9123fb842b071f7bf2 100644 (file)
@@ -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()