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
diff --git a/libc/bionic/pthread.c b/libc/bionic/pthread.c
index 2e2c09d..40a09ba 100644
--- a/libc/bionic/pthread.c
+++ b/libc/bionic/pthread.c
@@ -364,10 +364,10 @@
     _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;
 }