svn commit: r218414 - in head: include lib/libc/include lib/libthr lib/libthr/thread share/man/man3 sys/sys

Daniel Eischen deischen at freebsd.org
Tue Feb 8 00:06:48 UTC 2011


On Mon, 7 Feb 2011, Jung-uk Kim wrote:

> On Monday 07 February 2011 06:12 pm, Garrett Cooper wrote:
>> On Mon, Feb 7, 2011 at 1:26 PM, Jung-uk Kim <jkim at freebsd.org>
> wrote:
>>> Author: jkim
>>> Date: Mon Feb �7 21:26:46 2011
>>> New Revision: 218414
>>> URL: http://svn.freebsd.org/changeset/base/218414
>>>
>>> Log:
>>> �Introduce a non-portable function pthread_getthreadid_np(3) to
>>> retrieve �calling thread's unique integral ID, which is similar
>>> to AIX function of �the same name. �Bump __FreeBSD_version to
>>> note its introduction.
>>
>>     Stupid question: how is this different from pthread_self() ?
>> Isn't the pthread_t value returned unique across the system, or is
>> it relative to the process somehow?
>
> pthread_self(3) returns an opaque type pthread_t, e.g.,
> pthread_equal(3) must be used to compare two thread IDs.
> pthread_getthreadid_np(3) returns an integral type int, which is
> actually td_tid of the calling thread for libthr(3).
>
> Please see the following discussion:
>
> http://docs.freebsd.org/cgi/mid.cgi?201102071558.03573.jkim

Yes, we understand that Linux has it, and IBM has made
some sort of compat functions for accomplishing the same,
but why are developers so lazy that they cannot use
pthread_equal() instead of "="?  Or use something like
pthread_[gs]etspecific()?

Yes, this is a rhetorical question.  Since Linux has it,
we must also :-(

-- 
DE


More information about the svn-src-head mailing list