diff options
Diffstat (limited to 'linuxthreads')
-rw-r--r-- | linuxthreads/ChangeLog | 5 | ||||
-rw-r--r-- | linuxthreads/manager.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 9e25884..22ed03d 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,8 @@ +1999-11-23 Ulrich Drepper <drepper@cygnus.com> + + * manager.c (pthread_start_thread_event): Initialize p_pid already + here. + 1999-11-22 Ulrich Drepper <drepper@cygnus.com> * internals.h: Add prototype for __pthread_manager_event. diff --git a/linuxthreads/manager.c b/linuxthreads/manager.c index 0168b8a..6fced74 100644 --- a/linuxthreads/manager.c +++ b/linuxthreads/manager.c @@ -252,6 +252,9 @@ static int pthread_start_thread_event(void *arg) #ifdef INIT_THREAD_SELF INIT_THREAD_SELF(self, self->p_nr); #endif + /* Make sure our pid field is initialized, just in case we get there + before our father has initialized it. */ + THREAD_SETMEM(self, p_pid, __getpid()); /* Get the lock the manager will free once all is correctly set up. */ __pthread_lock (THREAD_GETMEM(self, p_lock), NULL); /* Free it immediately. */ |