From ddf6a66504ba04de944a8560ed350387a4026a7a Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Tue, 8 Jun 2010 06:41:48 -0600 Subject: [PATCH] Bug#54334 Double initialization of mysys mutexes Prior to this fix, mysys mutexes such as THR_LOCK_lock could be initialized twice by a call to my_init(). The root cause was out of place initialization in my_basic_init(), calling my_thread_global_init(). With this fix, - my_basic_init() properly initializes the mutex implementation itself, for SAFE or FAST mutexes, and for platform dependent initializations, before initialiazing a mutex. - my_init() properly initializes mysys mutexes once, when making the first call to my_thread_global_init(). --- mysys/my_init.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/mysys/my_init.c b/mysys/my_init.c index f27f3f7b3e8..e7ab98bcb73 100644 --- a/mysys/my_init.c +++ b/mysys/my_init.c @@ -104,8 +104,6 @@ my_bool my_basic_init(void) mysql_stdin= & instrumented_stdin; #if defined(THREAD) - if (my_thread_global_init()) - return 1; # if defined(SAFE_MUTEX) safe_mutex_global_init(); /* Must be called early */ # endif