logging's atexit hook now runs even if the rest of the module has

already been cleaned up.
This commit is contained in:
Georg Brandl 2006-08-11 07:26:10 +00:00
parent 368c155d05
commit 0a7d1bb168
2 changed files with 5 additions and 2 deletions

View File

@ -1337,14 +1337,14 @@ def disable(level):
""" """
root.manager.disable = level root.manager.disable = level
def shutdown(): def shutdown(handlerList=_handlerList):
""" """
Perform any cleanup actions in the logging system (e.g. flushing Perform any cleanup actions in the logging system (e.g. flushing
buffers). buffers).
Should be called at application exit. Should be called at application exit.
""" """
for h in _handlerList[:]: # was _handlers.keys(): for h in handlerList[:]:
#errors might occur, for example, if files are locked #errors might occur, for example, if files are locked
#we just ignore them if raiseExceptions is not set #we just ignore them if raiseExceptions is not set
try: try:

View File

@ -38,6 +38,9 @@ Core and builtins
Library Library
------- -------
- logging's atexit hook now runs even if the rest of the module has
already been cleaned up.
- Bug #1112549, DoS attack on cgi.FieldStorage. - Bug #1112549, DoS attack on cgi.FieldStorage.
- Bug #1531405, format_exception no longer raises an exception if - Bug #1531405, format_exception no longer raises an exception if