Pierangelo Masarati writes: > (...) To try and work it out, I've replaced most of the calls to > > ldap_pvt_thread_mutex_lock( &some_mutex ); > > with > > while ( ldap_pvt_thread_mutex_trylock( &some_mutex ) ) > ldap_pvt_thread_yield(); > > This seems to cure the problem (up to now)
If ldap_pvt_thread_mutex_lock doesn't yield when it has to wait, that sounds like a bug in the threads implementation to me. So I suggest to - test it on some other operating system, - bugreport it when it hopefully turns out to be OS-dependent, and - insert that code in ldap_pvt_thread_mutex_lock itself, if possible #ifdeffed on a configure test which detects the problem. -- Hallvard Under capitalism man exploits man, under communism it's just the opposite.
