diff options
author | Éric Araujo <merwok@netwok.org> | 2012-02-15 16:07:49 (GMT) |
---|---|---|
committer | Éric Araujo <merwok@netwok.org> | 2012-02-15 16:07:49 (GMT) |
commit | ccddc474c3c7c664bec879deb41bb91aa5dab109 (patch) | |
tree | 719cbb87cb1b2320bea8c339ce642a26cbae8ecd | |
parent | b2f5c0a4c4e3c382e4ffaa44a2aa6d2c70f60141 (diff) | |
download | cpython-ccddc474c3c7c664bec879deb41bb91aa5dab109.zip cpython-ccddc474c3c7c664bec879deb41bb91aa5dab109.tar.gz cpython-ccddc474c3c7c664bec879deb41bb91aa5dab109.tar.bz2 |
Improve doc for atexit.register and unregister (#12297)
-rw-r--r-- | Doc/library/atexit.rst | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/Doc/library/atexit.rst b/Doc/library/atexit.rst index 5b87b94..7c76bab 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:: @@ -98,6 +101,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. |