diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-07-30 14:15:00 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-07-30 14:15:00 +0000 |
commit | 8f2e98798e10f8f9cdfe983bd2d2af36955248e4 (patch) | |
tree | c31ae2a8cce5c2a2924b48bd12402a8bcfc99ac2 | |
parent | cd5c3d12654cacb93612c8feaf30f393dd2b2bbe (diff) |
merge revision(s) 63741: [Backport #14868]
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/branches/ruby_2_4@64130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | process.c | 2 | ||||
-rw-r--r-- | version.h | 2 |
2 files changed, 2 insertions, 2 deletions
@@ -3640,8 +3640,8 @@ retry_fork_ruby(int *status, struct child_handler_disabler_state *old) while (1) { prefork(); - before_fork_ruby(); disable_child_handler_before_fork(old); + before_fork_ruby(); pid = fork(); if (pid == 0) /* fork succeed, child process */ return pid; @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.4.5" #define RUBY_RELEASE_DATE "2018-07-30" -#define RUBY_PATCHLEVEL 310 +#define RUBY_PATCHLEVEL 311 #define RUBY_RELEASE_YEAR 2018 #define RUBY_RELEASE_MONTH 7 |