Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Jun 2003 10:58:37 -0400
From:      Mike Makonnen <mtm@identd.net>
To:        Kern Sibbald <kern@sibbald.com>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: FreeBSD pthread_equal "bug"
Message-ID:  <20030604145838.NUHK3199.pop016.verizon.net@kokeb.ambesa.net>
In-Reply-To: <1054736114.13630.499.camel@rufus>
References:  <1054730325.13630.456.camel@rufus> <20030604135208.LPAG20810.pop015.verizon.net@kokeb.ambesa.net> <1054736114.13630.499.camel@rufus>

next in thread | previous in thread | raw e-mail | index | archive | help
On 04 Jun 2003 16:15:14 +0200
Kern Sibbald <kern@sibbald.com> wrote:

> Hello,
> 
> I doubt that this is an accident on Solaris and Linux.
> They are both excellent implementations (though different)
> of pthreads, and it is very clear from the values contained
> that they are not simple memory addresses and are designed
> to be unique. 

I am not talking about Solaris and the comparison I am making is specifically to
the NPTL that I believe is supposed to be shipping with Red Hat now.

>How they get to their internal structures I
> don't know and probably it is a few cycles faster than
> FreeBSD, but it makes pthread_equal() work correctly on
> their systems.
> 
> I can say that their numbers are unique over a very large
> number of threads, and they repeat perfectly for each
> execution of the program so it isn't likely to be anything
> left to chance.
>

Can you quote specific code in their Pthreads implementation?
Without the actual code, this is all just conjecture.  It could be that they
simply return an index into an array of thread pointers, but that just means
that it takes a lot longer for the numbers to repeat.

> As previously mentioned, I'm not convinced this is something urgent,
> but I am convinced it is a bug.  However, it certainly bit me and
> took me a bit to figure out.

Maybe and maybe not, but the test program that follows works "correctly" for me.
pthread_equal() says the two thread's are not the same.  Which also reminds me,
I never saw your test program. Can you resend it or put it up on a website?

Cheers.
-- 
Mike Makonnen  | GPG-KEY: http://www.identd.net/~mtm/mtm.asc
mtm@identd.net | D228 1A6F C64E 120A A1C9  A3AA DAE1 E2AF DBCC 68B9
mtm@FreeBSD.Org| FreeBSD - The Power To Serve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030604145838.NUHK3199.pop016.verizon.net>