Message 72442 - Python tracker (original) (raw)
test_multiprocessing crashes on platforms that lack a working sem_open(), despite it being turned off at compilation time by setting HAVE_SEM_OPEN=0 in the Extension macros in setup.py
I think the multiprocessing module should disable the functionality gracefully when it is missing from _multiprocessing.
Failure message:
test test_multiprocessing crashed -- <type 'exceptions.AttributeError'>: 'module' object has no attribute 'SemLock' Traceback (most recent call last): File ".//Lib/test/regrtest.py", line 556, in runtest_inner indirect_test() File "/usr/ports/lang/python/2.6/w-Python-2.6b3/Python-2.6b3/Lib/test/test_multiprocessing.py", line 1758, in test_main ProcessesMixin.pool = multiprocessing.Pool(4) File "/usr/ports/lang/python/2.6/w-Python-2.6b3/Python-2.6b3/Lib/multiprocessing/init.py", line 226, in Pool return Pool(processes, initializer, initargs) File "/usr/ports/lang/python/2.6/w-Python-2.6b3/Python-2.6b3/Lib/multiprocessing/pool.py", line 84, in init self._setup_queues() File "/usr/ports/lang/python/2.6/w-Python-2.6b3/Python-2.6b3/Lib/multiprocessing/pool.py", line 130, in _setup_queues from .queues import SimpleQueue File "/usr/ports/lang/python/2.6/w-Python-2.6b3/Python-2.6b3/Lib/multiprocessing/queues.py", line 22, in from multiprocessing.synchronize import Lock, BoundedSemaphore, Semaphore, Condition File "/usr/ports/lang/python/2.6/w-Python-2.6b3/Python-2.6b3/Lib/multiprocessing/synchronize.py", line 29, in SEM_VALUE_MAX = _multiprocessing.SemLock.SEM_VALUE_MAX AttributeError: 'module' object has no attribute 'SemLock' 1 test failed: test_multiprocessing