Issue #9947: logging: Fixed locking bug in stopListening.
diff --git a/Lib/logging/config.py b/Lib/logging/config.py
index 356183f..258cc9c 100644
--- a/Lib/logging/config.py
+++ b/Lib/logging/config.py
@@ -895,8 +895,10 @@
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()