From 4bbdb9ea19321d1aa09a6df52861d25ccce54d4f Mon Sep 17 00:00:00 2001 From: normal Date: Sun, 24 Jun 2018 12:36:44 +0000 Subject: [PATCH] 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 --- process.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/process.c b/process.c index b37a37c084..12ea6eac86 100644 --- a/process.c +++ b/process.c @@ -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();