diff options
author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2012-02-23 20:49:08 (GMT) |
---|---|---|
committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2012-02-23 20:49:08 (GMT) |
commit | f05090372a43966266a8d20b9c21d348e417a48e (patch) | |
tree | e9f9353df039a4f47e1c7de38a309f8d4c7f8c2d /Lib/logging/handlers.py | |
parent | 0abf61db4dd0d008ad06c84cd882fb84e5c11181 (diff) | |
download | cpython-f05090372a43966266a8d20b9c21d348e417a48e.zip cpython-f05090372a43966266a8d20b9c21d348e417a48e.tar.gz cpython-f05090372a43966266a8d20b9c21d348e417a48e.tar.bz2 |
Fix added for recent changes in non-threading environments.
Diffstat (limited to 'Lib/logging/handlers.py')
-rw-r--r-- | Lib/logging/handlers.py | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py index 9fea2e8..708edc5 100644 --- a/Lib/logging/handlers.py +++ b/Lib/logging/handlers.py @@ -553,11 +553,14 @@ class SocketHandler(logging.Handler): """ 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 @@ class SysLogHandler(logging.Handler): """ 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 @@ 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): """ @@ -1147,20 +1156,26 @@ class MemoryHandler(BufferingHandler): 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): |