]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-38062: [doc] clarify that atexit uses equality comparisons internally. (GH-26935...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 29 Jun 2021 17:53:07 +0000 (10:53 -0700)
committerGitHub <noreply@github.com>
Tue, 29 Jun 2021 17:53:07 +0000 (18:53 +0100)
(cherry picked from commit 12803c59d54ff1a45a5b08cef82652ef199b3b07)

Co-authored-by: Jack DeVries <58614260+jdevries3133@users.noreply.github.com>
Doc/library/atexit.rst
Misc/NEWS.d/next/Documentation/2021-06-28-12-13-48.bpo-38062.9Ehp9O.rst [new file with mode: 0644]

index e6fa33ac3eaa3df7dc3d16a76584fedd84b8016a..f7f038107d11fe5807e0214b9c55fccd35246e9a 100644 (file)
@@ -48,11 +48,12 @@ internal error is detected, or when :func:`os._exit` is called.
 
 .. function:: unregister(func)
 
-   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, even if it was registered more than
-   once.  :func:`unregister` silently does nothing if *func* was not previously
-   registered.
+   Remove *func* from the list of functions to be run at interpreter shutdown.
+   :func:`unregister` silently does nothing if *func* was not previously
+   registered.  If *func* has been registered more than once, every occurrence
+   of that function in the :mod:`atexit` call stack will be removed.  Equality
+   comparisons (``==``) are used internally during unregistration, so function
+   references do not need to have matching identities.
 
 
 .. seealso::
diff --git a/Misc/NEWS.d/next/Documentation/2021-06-28-12-13-48.bpo-38062.9Ehp9O.rst b/Misc/NEWS.d/next/Documentation/2021-06-28-12-13-48.bpo-38062.9Ehp9O.rst
new file mode 100644 (file)
index 0000000..1d90096
--- /dev/null
@@ -0,0 +1 @@
+Clarify that atexit uses equality comparisons internally.