diff options
author | David Xu <davidxu@FreeBSD.org> | 2006-02-07 02:55:34 +0000 |
---|---|---|
committer | David Xu <davidxu@FreeBSD.org> | 2006-02-07 02:55:34 +0000 |
commit | 4f7b0f0ee748f6bb6a288372c190ead7cd31c634 (patch) | |
tree | 4855c23df7901d622a6fcc22cdbf1d805d142474 /lib/libthread_db/libthr_db.c | |
parent | 6ff81bf532c1d1b5b89baa27700317f90130120f (diff) | |
download | src-4f7b0f0ee748f6bb6a288372c190ead7cd31c634.tar.gz src-4f7b0f0ee748f6bb6a288372c190ead7cd31c634.zip |
Use ps_linfo to retrieve LWP info, current it is used to retrieve
signal mask and pending signals.
Notes
Notes:
svn path=/head/; revision=155414
Diffstat (limited to 'lib/libthread_db/libthr_db.c')
-rw-r--r-- | lib/libthread_db/libthr_db.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/libthread_db/libthr_db.c b/lib/libthread_db/libthr_db.c index aa639e99489c..0e0940917410 100644 --- a/lib/libthread_db/libthr_db.c +++ b/lib/libthread_db/libthr_db.c @@ -469,6 +469,7 @@ static td_err_e pt_thr_get_info(const td_thrhandle_t *th, td_thrinfo_t *info) { const td_thragent_t *ta = th->th_ta; + struct ptrace_lwpinfo linfo; int state; int ret; @@ -496,6 +497,11 @@ pt_thr_get_info(const td_thrhandle_t *th, td_thrinfo_t *info) info->ti_tid = th->th_tid; info->ti_thread = th->th_thread; info->ti_ta_p = th->th_ta; + ret = ps_linfo(ta->ph, th->th_tid, &linfo); + if (ret == PS_OK) { + info->ti_sigmask = linfo.pl_sigmask; + info->ti_pending = linfo.pl_siglist; + } if (state == ta->thread_state_running) info->ti_state = TD_THR_RUN; else if (state == ta->thread_state_zoombie) |