From 12803c59d54ff1a45a5b08cef82652ef199b3b07 Mon Sep 17 00:00:00 2001 From: Jack DeVries <58614260+jdevries3133@users.noreply.github.com> Date: Tue, 29 Jun 2021 13:28:03 -0400 Subject: [PATCH] bpo-38062: [doc] clarify that atexit uses equality comparisons internally. (GH-26935) --- Doc/library/atexit.rst | 11 ++++++----- .../2021-06-28-12-13-48.bpo-38062.9Ehp9O.rst | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) create mode 100644 Misc/NEWS.d/next/Documentation/2021-06-28-12-13-48.bpo-38062.9Ehp9O.rst diff --git a/Doc/library/atexit.rst b/Doc/library/atexit.rst index e6fa33ac3eaa3d..f7f038107d11fe 100644 --- a/Doc/library/atexit.rst +++ b/Doc/library/atexit.rst @@ -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 index 00000000000000..1d90096e20bfa4 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2021-06-28-12-13-48.bpo-38062.9Ehp9O.rst @@ -0,0 +1 @@ +Clarify that atexit uses equality comparisons internally.