From a000201fee156c783a85c5daa92bce0a721fb522 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 18 Nov 2009 09:25:46 +0000 Subject: [PATCH] * thread.c (rb_thread_atfork_internal): reinitialize global lock at fork to get rid of deadlock. based on the patch from Hongli Lai in [ruby-core:26783]. [ruby-core:26361] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- thread_pthread.c | 2 ++ thread_win32.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/thread_pthread.c b/thread_pthread.c index 12db73e086..c8ee4e1272 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -71,6 +71,8 @@ native_mutex_initialize(pthread_mutex_t *lock) } } +#define native_mutex_reinitialize_atfork(lock) native_mutex_initialize(lock) + static void native_mutex_destroy(pthread_mutex_t *lock) { diff --git a/thread_win32.c b/thread_win32.c index dc07a38a14..6bb29a1a40 100644 --- a/thread_win32.c +++ b/thread_win32.c @@ -326,6 +326,8 @@ native_mutex_initialize(rb_thread_lock_t *lock) #endif } +#define native_mutex_reinitialize_atfork(lock) (void)(lock) + static void native_mutex_destroy(rb_thread_lock_t *lock) {