◐ Shell
clean mode source ↗

[3.11] gh-91577: SharedMemory move imports out of methods (GH-91579) by miss-islington · Pull Request #93906 · python/cpython

@samtygier @miss-islington

)

SharedMemory.unlink() uses the unregister() function from resource_tracker. Previously it was imported in the method, but this can fail if the method is called during interpreter shutdown, for example when unlink is part of a __del__() method.

Moving the import to the top of the file, means that the unregister() method is available during interpreter shutdown.

The register call in SharedMemory.__init__() can also use this imported resource_tracker.
(cherry picked from commit 9a458be)

Co-authored-by: samtygier <samtygier@yahoo.co.uk>