Signal handlers must run before sigsuspend returns
authorLeon Timmermans <fawaka@gmail.com>
Mon, 26 Dec 2011 17:06:54 +0000 (19:06 +0200)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 29 Dec 2011 19:11:13 +0000 (11:11 -0800)
commit20120e59a6c5263ac45ce593c462604c5b9d9b09
tree222d97e072a09db8ad00583efcb78b39ffef0c6e
parentfb7aafe118382ba60b8f4457e7d2e40651923edf
Signal handlers must run before sigsuspend returns

The whole point of sigsuspend and pause is to wait until a signal has
arrived, and then return *after* it has been triggered. Currently
delayed/"safe" signals prevent that from happening, which might cause
race conditions.

This patch prevents that (as far as possible) by running the signal
handlers ASAP.
ext/POSIX/POSIX.xs