This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author neologix
Recipients michael.foord, neologix, pitrou, vstinner
Date 2011-07-23.23:00:48
SpamBayes Score 4.28797e-05
Marked as misclassified No
Message-id <CAH_1eM3-XuxJhtzLrKBYyzw8NBbv0ararpY7jDfJMTGNe8_wFw@mail.gmail.com>
In-reply-to <1311454495.5.0.801093056111.issue12625@psf.upfronthosting.co.za>
Content
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.
Files
File name Uploaded
indiana_signal.diff neologix, 2011-07-23.23:00:48
History
Date User Action Args
2011-07-23 23:00:49neologixsetrecipients: + neologix, pitrou, vstinner, michael.foord
2011-07-23 23:00:49neologixlinkissue12625 messages
2011-07-23 23:00:48neologixcreate