[issue30727] [2.7] test_threading.ConditionTests.test_notify() hangs randomly on FreeBSD on Python 2.7

STINNER Victor report at bugs.python.org
Wed Jun 21 18:38:43 EDT 2017


STINNER Victor added the comment:

test.test_threading.ConditionTests.test_notify() tests the threading._Condition.

threading._Condition uses internally a threading._RLock.

threading._RLock uses an internal lock created with thread.allocate_lock().

thread.allocate_lock() calls internally PyThread_allocate_lock(). On my Linux (Fedora 25) and FreeBSD (FreeBSD 11 VM) machines, PyThread_allocate_lock() calls sem_init(): POSIX pthread semaphores.

In Python 3, RLock was implemented in C for speed (the new Python 3.0 io module was slow because of RLock performance): see bpo-3001.

I know at least one race condition in Python 2.7 RLock: bpo-13697, RLock bug with signals.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue30727>
_______________________________________


More information about the Python-bugs-list mailing list