And today's "duh, realized it right after posting"... I wrote: >> Removing the test makes no sense, ltrm_mutex is not held for the >> duration of the rmutex. > > I don't understand. Is > ldap_pvt_thread_rmutex_unlock(rmutex not held by the current thread); > intended to be valid code? If so the ldap_pvt_thread_mutex_lock() > call in that function is a bug.
Please ignore last sentence:-( I still don't understand though. If such a ldap_pvt_thread_rmutex_unlock() is a bug, it seems enough to me to depend on any error checking in ldap_pvt_thread_mutex_lock(): If that catches it the rmutex call will catch it, otherwise not. -- Hallvard
