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.