mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
Bug#42850 race condition in my_thr_init.c
- Create the "dummy" thread joinable and wait for it to exit before continuing in 'my_thread_global_init' - This way we know that the pthread library is initialized by one thread only
This commit is contained in:
parent
f280974393
commit
9eab1cdb9a
1 changed files with 4 additions and 3 deletions
|
@ -107,10 +107,11 @@ my_bool my_thread_global_init(void)
|
|||
pthread_attr_t 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_JOINABLE);
|
||||
|
||||
pthread_create(&dummy_thread,&dummy_thread_attr,
|
||||
nptl_pthread_exit_hack_handler, NULL);
|
||||
if (pthread_create(&dummy_thread,&dummy_thread_attr,
|
||||
nptl_pthread_exit_hack_handler, NULL) == 0)
|
||||
(void)pthread_join(dummy_thread, NULL);
|
||||
}
|
||||
#endif /* TARGET_OS_LINUX */
|
||||
|
||||
|
|
Loading…
Reference in a new issue