diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | signal.c | 2 |
2 files changed, 7 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Tue Nov 20 09:36:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * signal.c (install_sighandler): added comments why we need + rb_disable_interrupt(). + Tue Nov 20 09:31:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> * signal.c (rb_disable_interrupt, rb_enable_interrupt): removed @@ -986,8 +986,10 @@ install_sighandler(int signum, sighandler_t handler) { sighandler_t old; + /* At this time, there is no subthread. Then sigmask guarantee atomics. */ rb_disable_interrupt(); old = ruby_signal(signum, handler); + /* signal handler should be inherited during exec. */ if (old != SIG_DFL) { ruby_signal(signum, old); } |