summaryrefslogtreecommitdiffstats
path: root/Doc/library/atexit.rst
diff options
context:
space:
mode:
authorÉric Araujo <merwok@netwok.org>2012-02-15 16:13:26 (GMT)
committerÉric Araujo <merwok@netwok.org>2012-02-15 16:13:26 (GMT)
commit1d175f776836ef0106d06ff2f264635df125340e (patch)
tree0dcab83efe344871fd69ff20724f5edfc280ac9e /Doc/library/atexit.rst
parent8b4d64f2564a44dadff0bd8f54f6591926044b1b (diff)
parentccddc474c3c7c664bec879deb41bb91aa5dab109 (diff)
downloadcpython-1d175f776836ef0106d06ff2f264635df125340e.zip
cpython-1d175f776836ef0106d06ff2f264635df125340e.tar.gz
cpython-1d175f776836ef0106d06ff2f264635df125340e.tar.bz2
Merge fixes for #1326113 and #12297 from 3.2
Diffstat (limited to 'Doc/library/atexit.rst')
-rw-r--r--Doc/library/atexit.rst17
1 files changed, 9 insertions, 8 deletions
diff --git a/Doc/library/atexit.rst b/Doc/library/atexit.rst
index c3bb04d..3d5c014 100644
--- a/Doc/library/atexit.rst
+++ b/Doc/library/atexit.rst
@@ -22,7 +22,8 @@ is detected, or when :func:`os._exit` is called.
Register *func* as a function to be executed at termination. Any optional
arguments that are to be passed to *func* must be passed as arguments to
- :func:`register`.
+ :func:`register`. It is possible to register the same function and arguments
+ more than once.
At normal program termination (for instance, if :func:`sys.exit` is called or
the main module's execution completes), all functions registered are called in
@@ -35,15 +36,17 @@ is detected, or when :func:`os._exit` is called.
saved. After all exit handlers have had a chance to run the last exception to
be raised is re-raised.
- This function returns *func* which makes it possible to use it as a decorator
- without binding the original name to ``None``.
+ This function returns *func*, which makes it possible to use it as a
+ decorator.
.. function:: unregister(func)
- Remove a function *func* from the list of functions to be run at interpreter-
+ Remove *func* from the list of functions to be run at interpreter
shutdown. After calling :func:`unregister`, *func* is guaranteed not to be
- called when the interpreter shuts down.
+ called when the interpreter shuts down, even if it was registered more than
+ once. :func:`unregister` silently does nothing if *func* was not previously
+ registered.
.. seealso::
@@ -100,6 +103,4 @@ Usage as a :term:`decorator`::
def goodbye():
print("You are now leaving the Python sector.")
-This obviously only works with functions that don't take arguments.
-
-
+This only works with functions that can be called without arguments.