This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

pthreads, cygwin and pthread_mutex_lock not blocking


I'm trying to use pthread in cygwin, and I'm expecting the function pthread_mutex_lock to block when used. However it is returning error 45 (EDEADLK). I'm using a static initializer for the thread so the mutex is type PTHREAD_MUTEX_DEFAULT.
When I look through the pthread code I see that PTHREAD_MUTEX_DEFAULT is set to PTHREAD_MUTEX_ERRORCHECK,
When I do the same on linux or soloris, the pthread_mutex_lock blocks, and looking in the pthread.h file on those systems see that the default is set to PTHREAD_MUTEX_NORMAL.

Why is cygwin using PTHREAD_MUTEX_ERRORCHECK as the default? And what problems might occur if PTHREAD_MUTEX_DEFAULT is set to PTHREAD_MUTEX_NORMAL?

The reason why I'm asking is because the application that I'm working on needs to work on linux, soloris and cygwin, and keeping the code the same is important.


A Møøse once bit my sister

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]