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/proc_service.h2
-rw-r--r--linuxthreads_db/td_thr_get_info.c2
3 files changed, 9 insertions, 1 deletions
diff --git a/linuxthreads_db/ChangeLog b/linuxthreads_db/ChangeLog
index f2286c99b2..f450d4828e 100644
--- a/linuxthreads_db/ChangeLog
+++ b/linuxthreads_db/ChangeLog
@@ -1,3 +1,9 @@
+1999-11-08  Ulrich Drepper  <drepper@cygnus.com>
+
+	* td_thr_get_info.c: Make sure ti_lid is never zero.
+
+	* proc_service.h: Add ps_getpid prototype.
+
 1999-11-03  Ulrich Drepper  <drepper@cygnus.com>
 
 	* thread_dbP.h (ta_ok): New function.
diff --git a/linuxthreads_db/proc_service.h b/linuxthreads_db/proc_service.h
index 108a86696e..8907b475f5 100644
--- a/linuxthreads_db/proc_service.h
+++ b/linuxthreads_db/proc_service.h
@@ -59,3 +59,5 @@ extern ps_err_e ps_lgetfpregs(struct ps_prochandle *,
                         lwpid_t, prfpregset_t *);
 extern ps_err_e ps_lsetfpregs(struct ps_prochandle *,
                         lwpid_t, const prfpregset_t *);
+
+extern pid_t ps_getpid (struct ps_prochandle *);
diff --git a/linuxthreads_db/td_thr_get_info.c b/linuxthreads_db/td_thr_get_info.c
index 21f9f68d07..25ad3408a9 100644
--- a/linuxthreads_db/td_thr_get_info.c
+++ b/linuxthreads_db/td_thr_get_info.c
@@ -64,7 +64,7 @@ td_thr_get_info (const td_thrhandle_t *th, td_thrinfo_t *infop)
     }
 
   /* Initialization which are the same in both cases.  */
-  infop->ti_lid = pds.p_pid;
+  infop->ti_lid = pds.p_pid ?: ps_getpid (th->th_ta_p->ph);
   infop->ti_ta_p = th->th_ta_p;
   infop->ti_startfunc = pds.p_start_args.start_routine;
   memcpy (&infop->ti_events, &pds.p_eventbuf.eventmask,