Pierangelo Masarati writes:
> I fear yet more few minor concurrency issues in libldap; I'd like to be
> able to assert if a mutex is locked from inside library functions,

Duh... please ignore my previous message.  I forgot you said _assert_.

Well, that one isn't hard.
define an ldap_thread_mutex_assert_owner() which is a no-op by default.
Then,

#if LDAP_THREAD_DEBUG_MUTEX

 #if <the specific thread implementation you are using>
  <inspect the mutex structure and do some magic by hand>
 #endif

 Or more generally, use my thr_debug.c package and extend
 ldap_debug_thread_cond_t with the thread ID and info about whether the
 mutex is locked.  Get thread ID with ldap_pvt_thread_self(), compare
 with ldap_pvt_thread_equal().

#endif

-- 
Hallvard

Reply via email to