From b4f5eb6e527a1f52184325c54eb958e05866f652 Mon Sep 17 00:00:00 2001 From: Zackery Spytz Date: Thu, 16 Jan 2020 23:42:46 -0700 Subject: [PATCH 1/2] bpo-38840: Incorrect __all__ in multiprocessing.managers This was causing test___all__ to fail on platforms lacking a shared memory implementation. Co-Authored-By: Xavier de Gaye --- Lib/multiprocessing/managers.py | 4 ++-- .../next/Library/2020-01-16-23-41-16.bpo-38840.VzzYZz.rst | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2020-01-16-23-41-16.bpo-38840.VzzYZz.rst diff --git a/Lib/multiprocessing/managers.py b/Lib/multiprocessing/managers.py index 1f9c2daa25d97f..da324f235dc2b3 100644 --- a/Lib/multiprocessing/managers.py +++ b/Lib/multiprocessing/managers.py @@ -8,8 +8,7 @@ # Licensed to PSF under a Contributor Agreement. # -__all__ = [ 'BaseManager', 'SyncManager', 'BaseProxy', 'Token', - 'SharedMemoryManager' ] +__all__ = [ 'BaseManager', 'SyncManager', 'BaseProxy', 'Token' ] # # Imports @@ -35,6 +34,7 @@ try: from . import shared_memory HAS_SHMEM = True + __all__.append('SharedMemoryManager') except ImportError: HAS_SHMEM = False diff --git a/Misc/NEWS.d/next/Library/2020-01-16-23-41-16.bpo-38840.VzzYZz.rst b/Misc/NEWS.d/next/Library/2020-01-16-23-41-16.bpo-38840.VzzYZz.rst new file mode 100644 index 00000000000000..727f62b52a710b --- /dev/null +++ b/Misc/NEWS.d/next/Library/2020-01-16-23-41-16.bpo-38840.VzzYZz.rst @@ -0,0 +1 @@ +Fix ``test___all__`` on platforms lacking a shared memory implementation. From 07604e041fc9292cc80ea636e26026975965b3c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Langa?= Date: Mon, 9 Aug 2021 18:14:13 +0200 Subject: [PATCH 2/2] Use try:except:else: --- Lib/multiprocessing/managers.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/multiprocessing/managers.py b/Lib/multiprocessing/managers.py index da324f235dc2b3..b573e7d3515a73 100644 --- a/Lib/multiprocessing/managers.py +++ b/Lib/multiprocessing/managers.py @@ -33,10 +33,11 @@ from . import get_context try: from . import shared_memory - HAS_SHMEM = True - __all__.append('SharedMemoryManager') except ImportError: HAS_SHMEM = False +else: + HAS_SHMEM = True + __all__.append('SharedMemoryManager') # # Register some things for pickling