Issue #9501: Improved shutdown handling to deal with module attributes correctly.
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index 4da07f1..5cb2866 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -711,7 +711,8 @@
# This function can be called during module teardown, when globals are
# set to None. If _acquireLock is None, assume this is the case and do
# nothing.
- if _acquireLock is not None:
+ if (_acquireLock is not None and _handlerList is not None and
+ _releaseLock is not None):
_acquireLock()
try:
if wr in _handlerList: