From: Vinay Sajip Date: Sat, 25 Sep 2010 17:48:25 +0000 (+0000) Subject: Issue #9947: logging: Fixed locking bug in stopListening. X-Git-Tag: v3.2a3~139 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9fdd11b3b6e76d76eb6c22e3d60f4c17ae91a725;p=python Issue #9947: logging: Fixed locking bug in stopListening. --- diff --git a/Lib/logging/config.py b/Lib/logging/config.py index cc75e94140..60744a0b47 100644 --- a/Lib/logging/config.py +++ b/Lib/logging/config.py @@ -917,8 +917,10 @@ def stopListening(): Stop the listening server which was created with a call to listen(). """ global _listener - if _listener: - logging._acquireLock() - _listener.abort = 1 - _listener = None + logging._acquireLock() + try: + if _listener: + _listener.abort = 1 + _listener = None + finally: logging._releaseLock() diff --git a/Misc/NEWS b/Misc/NEWS index c84a8ef3c4..b3af982e78 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -68,6 +68,8 @@ Core and Builtins Library ------- +- Issue #9947: logging: Fixed locking bug in stopListening. + - Issue #9945: logging: Fixed locking bugs in addHandler/removeHandler. - Issue #9936: Fixed executable lines' search in the trace module.