mirror of https://github.com/python/cpython
Issue #9501: Fixed logging regressions in cleanup code.
This commit is contained in:
parent
06b8b10090
commit
de6e9d615d
|
@ -609,12 +609,16 @@ def _removeHandlerRef(wr):
|
||||||
"""
|
"""
|
||||||
Remove a handler reference from the internal cleanup list.
|
Remove a handler reference from the internal cleanup list.
|
||||||
"""
|
"""
|
||||||
_acquireLock()
|
# This function can be called during module teardown, when globals are
|
||||||
try:
|
# set to None. If _acquireLock is None, assume this is the case and do
|
||||||
if wr in _handlerList:
|
# nothing.
|
||||||
_handlerList.remove(wr)
|
if _acquireLock is not None:
|
||||||
finally:
|
_acquireLock()
|
||||||
_releaseLock()
|
try:
|
||||||
|
if wr in _handlerList:
|
||||||
|
_handlerList.remove(wr)
|
||||||
|
finally:
|
||||||
|
_releaseLock()
|
||||||
|
|
||||||
def _addHandlerRef(handler):
|
def _addHandlerRef(handler):
|
||||||
"""
|
"""
|
||||||
|
@ -1604,8 +1608,16 @@ def shutdown(handlerList=_handlerList):
|
||||||
#we just ignore them if raiseExceptions is not set
|
#we just ignore them if raiseExceptions is not set
|
||||||
try:
|
try:
|
||||||
h = wr()
|
h = wr()
|
||||||
h.flush()
|
if h:
|
||||||
h.close()
|
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:
|
except:
|
||||||
if raiseExceptions:
|
if raiseExceptions:
|
||||||
raise
|
raise
|
||||||
|
|
|
@ -123,6 +123,8 @@ Extensions
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #9501: Fixed logging regressions in cleanup code.
|
||||||
|
|
||||||
- Fix functools.total_ordering() to actually work.
|
- Fix functools.total_ordering() to actually work.
|
||||||
|
|
||||||
- Issue #9572: Importlib should not raise an exception if a directory it
|
- Issue #9572: Importlib should not raise an exception if a directory it
|
||||||
|
|
Loading…
Reference in New Issue