This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: libthread_db thread handles
- From: Ulrich Drepper <drepper at redhat dot com>
- To: Daniel Jacobowitz <drow at mvista dot com>
- Cc: Michael Snyder <msnyder at redhat dot com>, Roland McGrath <roland at redhat dot com>, gdb at sources dot redhat dot com
- Date: Tue, 14 Jan 2003 15:40:54 -0800
- Subject: Re: libthread_db thread handles
- Organization: Red Hat, Inc.
- References: <20030110204624.GA32002@nevyn.them.org> <86wulbc29o.fsf@elgar.kettenis.dyndns.org> <20030113214916.GA18517@nevyn.them.org> <3E235404.45568034@redhat.com> <20030114002758.GA30705@nevyn.them.org> <3E24901B.4841796E@redhat.com> <20030114224641.GA18618@nevyn.them.org> <3E249864.2060600@redhat.com> <20030114232032.GA3774@nevyn.them.org>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Daniel Jacobowitz wrote:
> To find the state of a thread, we need to first get a thread handle for
> it and only then can we call td_thr_get_info. I'd like to save a copy
> of the td_thrhandle_t when we get the TD_CREATE event,
The problem is calling the *_iter functions or so?
If you have the pthread_t value computing the td_thrhandle_t is an
operation which can be performed entirely without the looking at the
inferior. At least in the new implementation. Just call
td_ta_map_id2thr(). This shouldn't add any measurable overhead.
I would prefer you caching the pthread_t value very much over caching
any opaque data structure. If this means adding a function
td_ta_map_thr2id() I'd have no problems with it. But not even this
should be necessary since for both events, TD_CREATE and TD_DEATH, the
eventdata is the pthread_t value. And this should be a documented
interface.
- --
- --------------. ,-. 444 Castro Street
Ulrich Drepper \ ,-----------------' \ Mountain View, CA 94041 USA
Red Hat `--' drepper at redhat.com `---------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+JKAK2ijCOnn/RHQRAkQPAJ4nWwjfiDFhbpMjooxuUEiH5Dc4pwCfT9La
XkXgLoaakbUo5xoO9YXRj1k=
=hQUV
-----END PGP SIGNATURE-----