summaryrefslogtreecommitdiff
path: root/linuxthreads/pthread.c
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads/pthread.c')
-rw-r--r--linuxthreads/pthread.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c
index d70e3f4b1f..c264da53ab 100644
--- a/linuxthreads/pthread.c
+++ b/linuxthreads/pthread.c
@@ -450,6 +450,8 @@ int __pthread_initialize_manager(void)
| __pthread_initial_thread.p_eventbuf.eventmask.event_bits[idx]))
!= 0)
{
+ __pthread_lock(__pthread_manager_thread.p_lock, NULL);
+
#ifdef NEED_SEPARATE_REGISTER_STACK
pid = __clone2(__pthread_manager_event,
(void **) __pthread_manager_thread_bos,
@@ -478,10 +480,10 @@ int __pthread_initialize_manager(void)
/* Now call the function which signals the event. */
__linuxthreads_create_event ();
-
- /* Now restart the thread. */
- __pthread_unlock(__pthread_manager_thread.p_lock);
}
+
+ /* Now restart the thread. */
+ __pthread_unlock(__pthread_manager_thread.p_lock);
}
}