Bug#28690 mysql-enterprise-gpl-5.0.40-linux-i686-glibc won't start on Debian Sarge

 - Only use the "hack for bug in NTPL" if using NTPL, by dynamically
   checking the thd_lib_detected flag
parent c7ee7b33
...@@ -89,25 +89,29 @@ my_bool my_thread_global_init(void) ...@@ -89,25 +89,29 @@ my_bool my_thread_global_init(void)
} }
#ifdef NPTL_PTHREAD_EXIT_BUG #ifdef NPTL_PTHREAD_EXIT_BUG
/*
BUG#24507: Race conditions inside current NPTL pthread_exit()
implementation.
/* To avoid a possible segmentation fault during concurrent
BUG#24507: Race conditions inside current NPTL pthread_exit() implementation. executions of pthread_exit(), a dummy thread is spawned which
initializes internal variables of pthread lib. See bug description
To avoid a possible segmentation fault during concurrent executions of for a full explanation.
pthread_exit(), a dummy thread is spawned which initializes internal variables
of pthread lib. See bug description for thoroughfull explanation.
TODO: Remove this code when fixed versions of glibc6 are in common use.
*/
TODO: Remove this code when fixed versions of glibc6 are in common
use.
*/
if (thd_lib_detected == THD_LIB_NPTL)
{
pthread_t dummy_thread; pthread_t dummy_thread;
pthread_attr_t dummy_thread_attr; pthread_attr_t dummy_thread_attr;
pthread_attr_init(&dummy_thread_attr); pthread_attr_init(&dummy_thread_attr);
pthread_attr_setdetachstate(&dummy_thread_attr,PTHREAD_CREATE_DETACHED); pthread_attr_setdetachstate(&dummy_thread_attr, PTHREAD_CREATE_DETACHED);
pthread_create(&dummy_thread,&dummy_thread_attr,nptl_pthread_exit_hack_handler,NULL);
pthread_create(&dummy_thread,&dummy_thread_attr,
nptl_pthread_exit_hack_handler, NULL);
}
#endif #endif
#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP #ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment