Commit 2932f048 authored by Jurijs Oniscuks's avatar Jurijs Oniscuks Committed by Elliott Hughes
Browse files

Fix race condition in pthread_create()

Save thread id to *thread_out before new
thread is allowed to run else there's a
risk that the thread has finished and
been deleted when *thread_out is assigned.

Change-Id: I6b84c61a8df06840877d4ab036f26feace3192d8
parent 1771a33d
......@@ -364,10 +364,10 @@ int pthread_create(pthread_t *thread_out, pthread_attr_t const * attr,
_thread_created_hook(tid);
pthread_mutex_unlock(&gDebuggerNotificationLock);
// Let the thread run.
// Publish the pthread_t and let the thread run.
*thread_out = (pthread_t) thread;
pthread_mutex_unlock(start_mutex);
*thread_out = (pthread_t) thread;
return 0;
}
......
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