This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Bug in pthread_equal
- To: Pieter de Visser <pieterdv at knoware dot nl>
- Subject: Re: Bug in pthread_equal
- From: Christopher Faylor <cgf at redhat dot com>
- Date: Thu, 26 Jul 2001 16:47:55 -0400
- Cc: cygwin at cygwin dot com
- References: <996153772.3b6019acb988c@webmail3.ision.nl>
- Reply-To: cygwin at cygwin dot com
On Thu, Jul 26, 2001 at 03:22:52PM +0200, Pieter de Visser wrote:
>There seems to be a bug in pthread_equal:
>
> int pthread_equal(pthread_t t1, pthread_t t2)
>
>should return a non-zero value if t1 and t2 refer to the same thread, and a
>zero value otherwise. With the Cygwin DLL 1.3.2 implementation, it is the other
>way around: the function returns zero if t1 and t2 refer to the same thread,
>and a non-zero value otherwise.
>
>One way to solve this would be to change
>cygwin-1.3.2-1/winsup/cygwin/thread.cc, at line 1811: replace
>
>int
>__pthread_equal (pthread_t * t1, pthread_t * t2)
>{
> return (*t1 - *t2);
>}
>
>with
>
>int
>__pthread_equal (pthread_t * t1, pthread_t * t2)
>{
> return (*t1 == *t2);
>}
Looks right to me. I've applied this change.
Thanks for tracking it down.
cgf
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/