diff options
Diffstat (limited to 'Lib/logging/__init__.py')
| -rw-r--r-- | Lib/logging/__init__.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index c8e5ac2..e1dbbc0 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -1263,20 +1263,23 @@ class Logger(Filterer): """ Add the specified handler to this logger. """ - if not (hdlr in self.handlers): - self.handlers.append(hdlr) + _acquireLock() + try: + if not (hdlr in self.handlers): + self.handlers.append(hdlr) + finally: + _releaseLock() def removeHandler(self, hdlr): """ Remove the specified handler from this logger. """ - if hdlr in self.handlers: - #hdlr.close() - hdlr.acquire() - try: + _acquireLock() + try: + if hdlr in self.handlers: self.handlers.remove(hdlr) - finally: - hdlr.release() + finally: + _releaseLock() def callHandlers(self, record): """ |
