aboutsummaryrefslogtreecommitdiff
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 f2286c9..f450d48 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 108a866..8907b47 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 21f9f68..25ad340 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,