]> granicus.if.org Git - python/commitdiff
Fix added for recent changes in non-threading environments.
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Thu, 23 Feb 2012 20:45:03 +0000 (20:45 +0000)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Thu, 23 Feb 2012 20:45:03 +0000 (20:45 +0000)
Lib/logging/__init__.py
Lib/logging/handlers.py

index 4b23cb46967ee31137018a958f1dc3307bf4cf94..d214aabbccca3e020f10762ae05f66f02829296f 100644 (file)
@@ -828,9 +828,12 @@ class StreamHandler(Handler):
         """
         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):
         """
@@ -901,13 +904,16 @@ class FileHandler(StreamHandler):
         """
         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):
         """
index fe5f9bf7a12750a20ff9c0f6ccfa684d56b473c9..b2950a752f2eb958b0592b7528fbc6ee7da98b8b 100644 (file)
@@ -562,10 +562,13 @@ class SocketHandler(logging.Handler):
         """
         Closes the socket.
         """
-        with self.lock:
+        self.acquire()
+        try:
             if self.sock:
                 self.sock.close()
                 self.sock = None
+        finally:
+            self.release()
         logging.Handler.close(self)
 
 class DatagramHandler(SocketHandler):
@@ -767,9 +770,12 @@ class SysLogHandler(logging.Handler):
         """
         Closes the socket.
         """
-        with self.lock:
+        self.acquire()
+        try:
             if self.unixsocket:
                 self.socket.close()
+        finally:
+            self.release()
         logging.Handler.close(self)
 
     def mapPriority(self, levelName):
@@ -1097,8 +1103,11 @@ class BufferingHandler(logging.Handler):
 
         This version just zaps the buffer to empty.
         """
-        with self.lock:
+        self.acquire()
+        try:
             self.buffer = []
+        finally:
+            self.release()
 
     def close(self):
         """
@@ -1146,17 +1155,23 @@ class MemoryHandler(BufferingHandler):
         records to the target, if there is one. Override if you want
         different behaviour.
         """
-        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()