diff options
Diffstat (limited to 'linuxthreads_db')
-rw-r--r-- | linuxthreads_db/ChangeLog | 6 | ||||
-rw-r--r-- | linuxthreads_db/proc_service.h | 2 | ||||
-rw-r--r-- | linuxthreads_db/td_thr_get_info.c | 2 |
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, |