aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/manager.c3
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. */