about summary refs log tree commit diff
path: root/linuxthreads_db
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads_db')
-rw-r--r--linuxthreads_db/ChangeLog6
-rw-r--r--linuxthreads_db/td_ta_map_lwp2thr.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/linuxthreads_db/ChangeLog b/linuxthreads_db/ChangeLog
index f450d4828e..d178e84973 100644
--- a/linuxthreads_db/ChangeLog
+++ b/linuxthreads_db/ChangeLog
@@ -1,3 +1,9 @@
+1999-11-10  Ulrich Drepper  <drepper@cygnus.com>
+
+	* td_ta_map_lwp2thr.c: If p_pid field is zero, this is before the
+	thread library is initialized and we get the PID from the
+	debugger.
+
 1999-11-08  Ulrich Drepper  <drepper@cygnus.com>
 
 	* td_thr_get_info.c: Make sure ti_lid is never zero.
diff --git a/linuxthreads_db/td_ta_map_lwp2thr.c b/linuxthreads_db/td_ta_map_lwp2thr.c
index f51bc18f16..0558f633f0 100644
--- a/linuxthreads_db/td_ta_map_lwp2thr.c
+++ b/linuxthreads_db/td_ta_map_lwp2thr.c
@@ -67,7 +67,7 @@ td_ta_map_lwp2thr (const td_thragent_t *ta, lwpid_t lwpid, td_thrhandle_t *th)
 	if (ps_pdread (ta->ph, phc[cnt].h_descr, &pds, sizeof_descr) != PS_OK)
 	  return TD_ERR;	/* XXX Other error value?  */
 
-	if (pds.p_pid == lwpid)
+	if (pds.p_pid ?: ps_getpid (ta->ph) == lwpid)
 	  {
 	    /* Found it.  Now fill in the `td_thrhandle_t' object.  */
 	    th->th_ta_p = (td_thragent_t *) ta;