diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-11-18 09:25:46 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-11-18 09:25:46 +0000 |
commit | a000201fee156c783a85c5daa92bce0a721fb522 (patch) | |
tree | 228c4efee9f2b155bd9533b39b4136eb133c350d | |
parent | 748fe216c26cd7d7d7f4125339c26bf93aff690e (diff) | |
download | ruby-a000201fee156c783a85c5daa92bce0a721fb522.tar.gz |
* 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
-rw-r--r-- | thread_pthread.c | 2 | ||||
-rw-r--r-- | thread_win32.c | 2 |
2 files changed, 4 insertions, 0 deletions
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) { |