Subject: Re: Bug in pthread_equal
From: Christopher Faylor <[email-masked]>
To: Pieter de Visser <[email-masked]>
Cc: [email-masked]
Date: Thu, 26 Jul 2001 16:47:55 -0400

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/