Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 03 Jun 2010 21:15:17 +0200
From:      =?UTF-8?B?VsOhY2xhdiBIYWlzbWFu?= <v.haisman@sh.cvut.cz>
To:        freebsd-hackers@freebsd.org
Subject:   Re: How to get a thread ID?
Message-ID:  <4C07FF45.5070703@sh.cvut.cz>
In-Reply-To: <Pine.GSO.4.64.1006031045330.28157@sea.ntplx.net>
References:  <6e716c850fa84621482b71826dae55d5@shell.sh.cvut.cz> <Pine.GSO.4.64.1006031045330.28157@sea.ntplx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig314A951EB8F701BE6C665A06
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Daniel Eischen wrote, On 3.6.2010 16:51:
> On Thu, 3 Jun 2010, V=C3=A1clav Haisman wrote:
>=20
>>
>> Hi,
>> is it possible to obtain some sort of a thread ID that identifies a th=
read
>> 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 th=
reads
>> and does not seem to use the same ID as is pthread_t.
>=20
> "identifies a thread" well enough for what?  pthread_t is suppose
> to be opaque.  Whether it is an int, pointer, or whatever, it is
> implementation-defined and not suppose provide any more information
> than available through the standard pthread interfaces.  There are
> some non-portable interfaces in <pthread_np.h> though.
Exactly, pthread_t is opaque and it thus it is only by a chance that I ca=
n
print its value, it is a pointer on FreeBSD. It could as well be a struct=
 and
then I could not possibly do anything to print the thread identity on scr=
een.

* 4 Thread 28426ec0 (LWP 100172)  0x0804b9f6 in TestThread::run ()

As shown above, GDB can show some sort of ID, the LWP bit. How does it ge=
t
it? Is it possible to get the LWP ID from inside the process without
debugging it?


--------------enig314A951EB8F701BE6C665A06
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEAREIAAYFAkwH/0wACgkQr2CghdezFMnIPACg3HRywOn0bVrX/U7RcXOBP7A8
dfYAn1L0ytWSeyeuuQiqW9x6QEOssOQM
=HBhB
-----END PGP SIGNATURE-----

--------------enig314A951EB8F701BE6C665A06--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C07FF45.5070703>