summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2019-03-14 22:21:30 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2019-03-14 22:21:30 +0000
commit703d9f61f0057be889ae0e468e0031781f450e3b (patch)
treef8ff62b9a0bc30629a03f02e70697a19756d25fc
parentdec6bb8568b98b78ad24b827debea3d05c8bdec7 (diff)
merge revision(s) 63309:
thread_sync.c (condvar_ptr): reset fork_gen after forking Otherwise the condition variable waiter list will always be empty, which is wrong :x [Bug #14725] [Bug #14634] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--thread_sync.c1
-rw-r--r--version.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/thread_sync.c b/thread_sync.c
index 396cceb2ce..8964e24a5f 100644
--- a/thread_sync.c
+++ b/thread_sync.c
@@ -1314,6 +1314,7 @@ condvar_ptr(VALUE self)
/* forked children can't reach into parent thread stacks */
if (cv->fork_gen != fork_gen) {
+ cv->fork_gen = fork_gen;
list_head_init(&cv->waitq);
}
diff --git a/version.h b/version.h
index 8168fe3648..3b9dbd43d2 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.5.5"
#define RUBY_RELEASE_DATE "2019-03-15"
-#define RUBY_PATCHLEVEL 156
+#define RUBY_PATCHLEVEL 157
#define RUBY_RELEASE_YEAR 2019
#define RUBY_RELEASE_MONTH 3