diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-06-24 12:36:44 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-06-24 12:36:44 +0000 |
commit | 4bbdb9ea19321d1aa09a6df52861d25ccce54d4f (patch) | |
tree | 4b3ffe282afc2dd4c521d5561127e0933466db9a /process.c | |
parent | 042395a7f7262464265ce70cdffbe1812aa145d3 (diff) | |
download | ruby-4bbdb9ea19321d1aa09a6df52861d25ccce54d4f.tar.gz |
process.c (ruby_fork_ruby): fix race in signal handling
We must block signals before stopping timer-thread, otherwise
signal handing may be delayed until (and if) another signal
is received after timer-thread is restarted.
[ruby-core:87622] [Bug #14868] [Bug #13916]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r-- | process.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -3690,8 +3690,8 @@ rb_fork_ruby(int *status) while (1) { prefork(); - before_fork_ruby(); disable_child_handler_before_fork(&old); + before_fork_ruby(); pid = fork(); err = errno; after_fork_ruby(); |