[issue8407] expose signalfd(2) and pthread_sigmask in the signal module
STINNER Victor
report at bugs.python.org
Sun May 8 21:50:44 CEST 2011
STINNER Victor <victor.stinner at haypocalc.com> added the comment:
> New changeset f8c49a930015 by Victor Stinner in branch 'default':
> Issue #8407: The signal handler writes the signal number as a single byte
Wakeup test using two pending signals fails on FreeBSD 6.4 buildbot:
======================================================================
FAIL: test_signum (test.test_signal.WakeupSignalTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/home/db3l/buildarea/3.x.bolen-freebsd/build/Lib/test/test_signal.py", line 266, in test_signum
self.check_signum(signal.SIGUSR1, signal.SIGALRM)
File "/usr/home/db3l/buildarea/3.x.bolen-freebsd/build/Lib/test/test_signal.py", line 232, in check_signum
self.assertSequenceEqual(raised, signals)
AssertionError: Sequences differ: (14,) != (30, 14)
Wakeup file only contains SIGALRM, not (SIGUSR1, SIGALRM), whereas SIGUSR1 is raised before SIGALRM.
Code of the test:
def check_signum(self, *signals):
data = os.read(self.read, len(signals)+1)
raised = struct.unpack('%uB' % len(data), data)
self.assertSequenceEqual(raised, signals)
def test_signum(self):
old_handler = signal.signal(signal.SIGUSR1, lambda x,y:None)
self.addCleanup(signal.signal, signal.SIGUSR1, old_handler)
os.kill(os.getpid(), signal.SIGUSR1)
os.kill(os.getpid(), signal.SIGALRM)
self.check_signum(signal.SIGUSR1, signal.SIGALRM)
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue8407>
_______________________________________
More information about the Python-bugs-list
mailing list