Commit 40bd549b authored by Magnus Blåudd's avatar Magnus Blåudd

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
parent 6e8dea64
...@@ -107,10 +107,11 @@ my_bool my_thread_global_init(void) ...@@ -107,10 +107,11 @@ my_bool my_thread_global_init(void)
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_JOINABLE);
pthread_create(&dummy_thread,&dummy_thread_attr, if (pthread_create(&dummy_thread,&dummy_thread_attr,
nptl_pthread_exit_hack_handler, NULL); nptl_pthread_exit_hack_handler, NULL) == 0)
(void)pthread_join(dummy_thread, NULL);
} }
#endif /* TARGET_OS_LINUX */ #endif /* TARGET_OS_LINUX */
......
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