summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-30 14:15:00 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-30 14:15:00 +0000
commit8f2e98798e10f8f9cdfe983bd2d2af36955248e4 (patch)
treec31ae2a8cce5c2a2924b48bd12402a8bcfc99ac2
parentcd5c3d12654cacb93612c8feaf30f393dd2b2bbe (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.c2
-rw-r--r--version.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/process.c b/process.c
index 6d3b063b1a..40bc51f83e 100644
--- a/process.c
+++ b/process.c
@@ -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;
diff --git a/version.h b/version.h
index 99ebd6cf74..2b86d38890 100644
--- a/version.h
+++ b/version.h
@@ -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