On Thu, Jun 03, 2010 at 09:44:52AM -0500, Dan Nelson wrote: > In the last episode (Jun 03), V??clav Haisman said: > > is it possible to obtain some sort of a thread ID that identifies a thread > > within a process other than pthread_self()? Something like gettid() on > > Linux? Apparently, on FreeBSD the pthread_t is a pointer type and does > > not identify the thread well enough. GDB on FreeBSD seems to know about > > threads and does not seem to use the same ID as is pthread_t. > > The return value of pthread_self() is a pointer to the (private) "struct > pthread" for the current thread, and should uniquely identify a thread. Do > you have a testcase that shows otherwise? GDB might just enumerate the > currently active threads starting from 1.
There is thr_self(2) undocumented syscall: int thr_self(long *id);
pgp68ieVpBVAs.pgp
Description: PGP signature