diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-18 09:21:05 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-18 09:21:05 +0000 |
commit | 1df9c2bc1cde43d454146691ea9a68f2ff6fbe16 (patch) | |
tree | c88cb81175b12c1aab253ee35b7412bcd321592b /thread_sync.c | |
parent | 47127762e72cce69587849905dcf646710e0b7d8 (diff) |
thread_sync.c (mutex_ptr): only reinitalize waitqueue at fork
Mutexes need to remain locked after forking.
This fixes "[BUG] invalid keeping_mutexes: Attempt to unlock a
mutex which is locked by another thread" and should
fix test_fork_while_parent_locked failures in CI
[ruby-core:90581] [Bug #15424]
[ruby-core:90595] [Bug #15430]
Fixes: r66230 ("handle mutexes held by parent threads in children")
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread_sync.c')
-rw-r--r-- | thread_sync.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/thread_sync.c b/thread_sync.c index 4a3cb2ad6a..36ed71bf88 100644 --- a/thread_sync.c +++ b/thread_sync.c @@ -130,8 +130,6 @@ mutex_ptr(VALUE obj) /* forked children can't reach into parent thread stacks */ mutex->fork_gen = fork_gen; list_head_init(&mutex->waitq); - mutex->next_mutex = 0; - mutex->th = 0; } return mutex; |