Improve robustness of sigprocmask by overriding signal.
authorEric Blake <ebb9@byu.net>
Sat, 21 Jun 2008 13:06:28 +0000 (07:06 -0600)
committerEric Blake <ebb9@byu.net>
Sat, 21 Jun 2008 20:48:40 +0000 (14:48 -0600)
commit6dbadedb84d0fe02292a39f22942b8c172487ebf
tree5d76571b2f6138cf87be6ece3f6ec507e4737359
parentfb90809748e4a351e5747ddd5a3cf3372495c0b8
Improve robustness of sigprocmask by overriding signal.

* lib/signal.in.h (rpl_signal): Override signal when sigprocmask
is in use.
* lib/sigprocmask.c (blocked_handler): Reinstall block handler.
(SIGKILL, SIGSTOP): Provide fallbacks.
(rpl_signal): Implement.
(old_handlers, blocked_set): Mark volatile, since sigprocmask and
signal can be called inside handlers.

Signed-off-by: Eric Blake <ebb9@byu.net>
ChangeLog
lib/signal.in.h
lib/sigprocmask.c