0
0
mirror of https://github.com/python/cpython.git synced 2024-11-21 21:09:37 +01:00

Cleanup multiprocessing comment and unusual import error message (#126532)

Define constants as constants rather than calling `list(range(2))`.
Explain which values must remain in sync via comments.
This commit is contained in:
Gregory P. Smith 2024-11-07 00:06:14 -08:00 committed by GitHub
parent dbb6e22cb1
commit d46d3f2ec7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 8 deletions

View File

@ -21,22 +21,21 @@ from . import context
from . import process
from . import util
# Try to import the mp.synchronize module cleanly, if it fails
# raise ImportError for platforms lacking a working sem_open implementation.
# See issue 3770
# TODO: Do any platforms still lack a functioning sem_open?
try:
from _multiprocessing import SemLock, sem_unlink
except (ImportError):
except ImportError:
raise ImportError("This platform lacks a functioning sem_open" +
" implementation, therefore, the required" +
" synchronization primitives needed will not" +
" function, see issue 3770.")
" implementation. https://github.com/python/cpython/issues/48020.")
#
# Constants
#
RECURSIVE_MUTEX, SEMAPHORE = list(range(2))
# These match the enum in Modules/_multiprocessing/semaphore.c
RECURSIVE_MUTEX = 0
SEMAPHORE = 1
SEM_VALUE_MAX = _multiprocessing.SemLock.SEM_VALUE_MAX
#

View File

@ -15,6 +15,7 @@
#ifdef HAVE_MP_SEMAPHORE
// These match the values in Lib/multiprocessing/synchronize.py
enum { RECURSIVE_MUTEX, SEMAPHORE };
typedef struct {