diff options
author | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-07-12 05:08:28 +0000 |
---|---|---|
committer | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-07-12 05:08:28 +0000 |
commit | c307523565e0a8815bfd0d7deeed8b9ae7796e16 (patch) | |
tree | 691e3a1097e18ec5971396e4f5669197121b2c3e /signal.c | |
parent | 89e2951bde9b7f4e04a8f068bfde6756aebf74af (diff) | |
download | ruby-c307523565e0a8815bfd0d7deeed8b9ae7796e16.tar.gz |
* signal.c (install_sighandler): fixed a race.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'signal.c')
-rw-r--r-- | signal.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -1008,10 +1008,12 @@ install_sighandler(int signum, sighandler_t handler) { sighandler_t old; + rb_disable_interrupt(); old = ruby_signal(signum, handler); if (old != SIG_DFL) { ruby_signal(signum, old); } + rb_enable_interrupt(); } #if defined(SIGCLD) || defined(SIGCHLD) |