From d2f52a5fb7835c299d0b769e2d0423d80c522fc8 Mon Sep 17 00:00:00 2001 From: normal Date: Mon, 30 Apr 2018 23:47:21 +0000 Subject: [PATCH] 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/trunk@63309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- thread_sync.c | 1 + 1 file changed, 1 insertion(+) diff --git a/thread_sync.c b/thread_sync.c index 7bdef32682..e7702f17d0 100644 --- a/thread_sync.c +++ b/thread_sync.c @@ -1308,6 +1308,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); }