Commit 66f7d661 authored by Victor Stinner's avatar Victor Stinner

Issue #11223: skip also test_rlock_acquire_interruption() on FreeBSD6

parent f25ae48d
......@@ -14,6 +14,10 @@ if sys.platform[:3] in ('win', 'os2') or sys.platform=='riscos':
process_pid = os.getpid()
signalled_all=thread.allocate_lock()
# Issue #11223: Locks are implemented using a mutex and a condition variable of
# the pthread library on FreeBSD6. POSIX condition variables cannot be
# interrupted by signals (see pthread_cond_wait manual page).
USING_PTHREAD_COND = (sys.platform == 'freebsd6')
def registerSignals(for_usr1, for_usr2, for_alrm):
usr1 = signal.signal(signal.SIGUSR1, for_usr1)
......@@ -70,10 +74,7 @@ class ThreadSignals(unittest.TestCase):
def alarm_interrupt(self, sig, frame):
raise KeyboardInterrupt
# Issue #11223: Locks are implemented using a mutex and a condition
# variable of the pthread library on FreeBSD6. POSIX condition variables
# cannot be interrupted by signals (see pthread_cond_wait manual page).
@unittest.skipIf(sys.platform == 'freebsd6',
@unittest.skipIf(USING_PTHREAD_COND,
'POSIX condition variables cannot be interrupted')
def test_lock_acquire_interruption(self):
# Mimic receiving a SIGINT (KeyboardInterrupt) with SIGALRM while stuck
......@@ -96,6 +97,8 @@ class ThreadSignals(unittest.TestCase):
finally:
signal.signal(signal.SIGALRM, oldalrm)
@unittest.skipIf(USING_PTHREAD_COND,
'POSIX condition variables cannot be interrupted')
def test_rlock_acquire_interruption(self):
# Mimic receiving a SIGINT (KeyboardInterrupt) with SIGALRM while stuck
# in a deadlock.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment