summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2011-06-23 12:22:28 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2011-06-23 12:22:28 (GMT)
commit66f7d66174b0898e436ea821309ee47a1b297a8f (patch)
tree9404c621435ae958a5ce33f9e066eb197b509968
parentf25ae48dfd646d6e47969eb0e20fc603c38e0d67 (diff)
downloadcpython-66f7d66174b0898e436ea821309ee47a1b297a8f.zip
cpython-66f7d66174b0898e436ea821309ee47a1b297a8f.tar.gz
cpython-66f7d66174b0898e436ea821309ee47a1b297a8f.tar.bz2
Issue #11223: skip also test_rlock_acquire_interruption() on FreeBSD6
-rw-r--r--Lib/test/test_threadsignals.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/Lib/test/test_threadsignals.py b/Lib/test/test_threadsignals.py
index 9162c86..e0af31d 100644
--- a/Lib/test/test_threadsignals.py
+++ b/Lib/test/test_threadsignals.py
@@ -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.