[Python-checkins] cpython (3.2): Fix added for recent changes in non-threading environments.

vinay.sajip python-checkins at python.org
Thu Feb 23 21:57:22 CET 2012


http://hg.python.org/cpython/rev/344b4737d2fe
changeset:   75221:344b4737d2fe
branch:      3.2
parent:      75211:b2adcd90e656
user:        Vinay Sajip <vinay_sajip at yahoo.co.uk>
date:        Thu Feb 23 20:49:08 2012 +0000
summary:
  Fix added for recent changes in non-threading environments.

files:
  Lib/logging/__init__.py |  10 ++++++++--
  Lib/logging/handlers.py |  25 ++++++++++++++++++++-----
  2 files changed, 28 insertions(+), 7 deletions(-)


diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -917,9 +917,12 @@
         """
         Flushes the stream.
         """
-        with self.lock:
+        self.acquire()
+        try:
             if self.stream and hasattr(self.stream, "flush"):
                 self.stream.flush()
+        finally:
+            self.release()
 
     def emit(self, record):
         """
@@ -970,13 +973,16 @@
         """
         Closes the stream.
         """
-        with self.lock:
+        self.acquire()
+        try:
             if self.stream:
                 self.flush()
                 if hasattr(self.stream, "close"):
                     self.stream.close()
                 StreamHandler.close(self)
                 self.stream = None
+        finally:
+            self.release()
 
     def _open(self):
         """
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -553,11 +553,14 @@
         """
         Closes the socket.
         """
-        with self.lock:
+        self.acquire()
+        try:
             if self.sock:
                 self.sock.close()
                 self.sock = None
             logging.Handler.close(self)
+        finally:
+            self.release()
 
 class DatagramHandler(SocketHandler):
     """
@@ -752,10 +755,13 @@
         """
         Closes the socket.
         """
-        with self.lock:
+        self.acquire()
+        try:
             if self.unixsocket:
                 self.socket.close()
             logging.Handler.close(self)
+        finally:
+            self.release()
 
     def mapPriority(self, levelName):
         """
@@ -1096,8 +1102,11 @@
 
         This version just zaps the buffer to empty.
         """
-        with self.lock:
+        self.acquire()
+        try:
             self.buffer = []
+        finally:
+            self.release()
 
     def close(self):
         """
@@ -1147,20 +1156,26 @@
 
         The record buffer is also cleared by this operation.
         """
-        with self.lock:
+        self.acquire()
+        try:
             if self.target:
                 for record in self.buffer:
                     self.target.handle(record)
                 self.buffer = []
+        finally:
+            self.release()
 
     def close(self):
         """
         Flush, set the target to None and lose the buffer.
         """
         self.flush()
-        with self.lock:
+        self.acquire()
+        try:
             self.target = None
             BufferingHandler.close(self)
+        finally:
+            self.release()
 
 
 class QueueHandler(logging.Handler):

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list