Hi Eystein,
Yes, the 64 bit code in 2.8.0 was probably very dodgy. I believe CVS is
stable at the moment so I will consider tagging it as 2.9.0.
ASAP.
Ross
On 8/05/2012 5:02 AM, Eystein Måløy Stenberg wrote:
> Hi,
>
> I have encountered a severe bug on a 64-bit MinGW build
> (http://mingw-w64.sourceforge.net/) of version 2.8.0.
>
> pthread_mutex_trylock always returns 0, no matter if the lock is held
> or not, and it never takes the lock. This causes pthread_mutex_destroy
> to always fail, and probably has other bad effects.
>
> To reproduce, try the following.
>
> ---
> int res_init = pthread_mutex_init(&mutex, NULL);
> int res_lock = pthread_mutex_lock(&mutex);
> int res_trylock = pthread_mutex_trylock(&mutex);
> int res_trylock2 = pthread_mutex_trylock(&mutex);
> int res_unlock = pthread_mutex_unlock(&mutex);
> int res_destroy = pthread_mutex_destroy(&mutex);
> printf("res_init=%d, res_lock=%d, res_trylock=%d, res_trylock2=%d,
> res_unlock=%d, res_destroy=%d\n", res_init, res_lock, res_trylock,
> res_trylock2, res_unlock, res_destroy);
> ---
>
> This seems to have been fixed in the latest cvs release. Since it has
> also been almost 6 years since the last release, could we please get a
> new release soon?
>
> Thank you.
>