Issue #9501: Merged fix from 3.3.
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index b8e7b37..244c915 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -708,7 +708,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: