- Issue #15233: Python now guarantees that callables registered with

the atexit module will be called in a deterministic order.
This commit is contained in:
Larry Hastings 2012-07-14 18:20:37 -07:00
parent c4ac789be7
commit 1191709b13
2 changed files with 10 additions and 6 deletions

View File

@ -9,13 +9,14 @@
The :mod:`atexit` module defines functions to register and unregister cleanup
functions. Functions thus registered are automatically executed upon normal
interpreter termination. The order in which the functions are called is not
defined; if you have cleanup operations that depend on each other, you should
wrap them in a function and register that one. This keeps :mod:`atexit` simple.
interpreter termination. :mod:`atexit` runs these functions in the *reverse*
order in which they were registered; if you register ``A``, ``B``, and ``C``,
at interpreter termination time they will be run in the order ``C``, ``B``,
``A``.
Note: the functions registered via this module are not called when the program
is killed by a signal not handled by Python, when a Python fatal internal error
is detected, or when :func:`os._exit` is called.
**Note:** The functions registered via this module are not called when the
program is killed by a signal not handled by Python, when a Python fatal
internal error is detected, or when :func:`os._exit` is called.
.. function:: register(func, *args, **kargs)

View File

@ -35,6 +35,9 @@ Core and Builtins
Library
-------
- Issue #15233: Python now guarantees that callables registered with
the atexit module will be called in a deterministic order.
- Issue #15238: shutil.copystat now copies Linux "extended attributes".
- Issue #15230: runpy.run_path now correctly sets __package__ as described