Commit 1ddd51fc authored by Vinay Sajip's avatar Vinay Sajip

Issue #9501: Fixed logging regressions in cleanup code.

parent 9d0eaac1
......@@ -617,12 +617,16 @@ def _removeHandlerRef(wr):
"""
Remove a handler reference from the internal cleanup list.
"""
_acquireLock()
try:
if wr in _handlerList:
_handlerList.remove(wr)
finally:
_releaseLock()
# 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:
_acquireLock()
try:
if wr in _handlerList:
_handlerList.remove(wr)
finally:
_releaseLock()
def _addHandlerRef(handler):
"""
......@@ -1612,8 +1616,16 @@ def shutdown(handlerList=_handlerList):
#we just ignore them if raiseExceptions is not set
try:
h = wr()
h.flush()
h.close()
if h:
try:
h.flush()
h.close()
except (IOError, ValueError):
# Ignore errors which might be caused
# because handlers have been closed but
# references to them are still around at
# application exit.
pass
except:
if raiseExceptions:
raise
......
......@@ -31,6 +31,8 @@ Core and Builtins
Library
-------
- Issue #9501: Fixed logging regressions in cleanup code.
- Issue #9214: Set operations on KeysView or ItemsView in the collections
module now correctly return a set. (Patch by Eli Bendersky.)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment