How to get a thread ID?

Dan Nelson dnelson at allantgroup.com
Thu Jun 3 14:44:56 UTC 2010


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.

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-hackers mailing list