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


Hi,

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.

Thanks,
Peter

-------------------------------
A Møøse once bit my sister

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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