Message141023
Looks similar to issue #8263, which is in turn similar to #12469 (see
http://bugs.python.org/issue12469#msg139620 and
http://bugs.python.org/issue12469#msg139626 for original explanations):
normally, pending signals are checked when the process returns to
user-space, so a code like:
os.kill(os.getpid(), signum)
self.assertTrue(signum's handler called)
will succeed, because the signal is delivered before the kill()
syscall returns (it's actually required by POSIX), and the Python
signal handler will be called from the main eval loop before the assertion
test.
But if the signal isn't delivered right away (on FreeBSD6, it happens
only after a thread has been created, which explains #12469 and
probably #8263), then this check can fail (the signal will be
delivered typically when the next syscall returns, or at the next
timer interrupt, which could be after the test).
So I'd say the easier solution is to skip this test on OpenSolaris,
like it's done on FreeBSD6 since issue #8263.
Patch attached. |
|
Date |
User |
Action |
Args |
2011-07-23 23:00:49 | neologix | set | recipients:
+ neologix, pitrou, vstinner, michael.foord |
2011-07-23 23:00:49 | neologix | link | issue12625 messages |
2011-07-23 23:00:48 | neologix | create | |
|