diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2011-06-23 12:22:28 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2011-06-23 12:22:28 (GMT) |
commit | 66f7d66174b0898e436ea821309ee47a1b297a8f (patch) | |
tree | 9404c621435ae958a5ce33f9e066eb197b509968 /Lib/test | |
parent | f25ae48dfd646d6e47969eb0e20fc603c38e0d67 (diff) | |
download | cpython-66f7d66174b0898e436ea821309ee47a1b297a8f.zip cpython-66f7d66174b0898e436ea821309ee47a1b297a8f.tar.gz cpython-66f7d66174b0898e436ea821309ee47a1b297a8f.tar.bz2 |
Issue #11223: skip also test_rlock_acquire_interruption() on FreeBSD6
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_threadsignals.py | 11 |
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. |