On Fri, May 27, 2005 at 04:35:39PM -0700, Peter Rehley wrote: >On May 27, 2005, at 1:28 PM, Christopher Faylor wrote: > >>On Fri, May 27, 2005 at 10:57:34AM -0700, Peter Rehley wrote: >>>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? >> >>Why not just try it and report the results? >Done. Hangs at WaitForSingleObject.
Can you provide a STC(tm) (simple test case) which demonstrates the problem both with and without PTHREAD_MUTEX_ERRORCHECK? cgf -- 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/