]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9201 additional fixes
authorHoward Chu <hyc@openldap.org>
Thu, 3 Sep 2020 20:00:39 +0000 (21:00 +0100)
committerHoward Chu <hyc@openldap.org>
Thu, 3 Sep 2020 20:01:07 +0000 (21:01 +0100)
libraries/libldap/ldap_thr_debug.h
libraries/libldap/thr_debug.c

index cef2411c05cba6d60100b00791983150b37b7393..1374b71ac5b0d320084594de40cb1176a24e5223 100644 (file)
 #define        ldap_pvt_thread_pool_pause              ldap_int_thread_pool_pause
 #define        ldap_pvt_thread_pool_resume             ldap_int_thread_pool_resume
 #define        ldap_pvt_thread_pool_destroy    ldap_int_thread_pool_destroy
-#define        ldap_pvt_thread_pool_close              ldap_int_thread_pool_close
-#define        ldap_pvt_thread_pool_free               ldap_int_thread_pool_free
 #define        ldap_pvt_thread_pool_getkey             ldap_int_thread_pool_getkey
 #define        ldap_pvt_thread_pool_setkey     ldap_int_thread_pool_setkey
 #define        ldap_pvt_thread_pool_purgekey   ldap_int_thread_pool_purgekey
  */
 #undef ldap_pvt_thread_pool_destroy
 #define        ldap_pvt_thread_pool_destroy(p,r) ldap_int_thread_pool_destroy(p,r)
-#if 0
 #define        ldap_pvt_thread_pool_close(p,r) ldap_int_thread_pool_close(p,r)
 #define        ldap_pvt_thread_pool_free(p) ldap_int_thread_pool_free(p)
 #endif
-#endif
 
 #ifdef LDAP_THREAD_DEBUG_IMPLEMENTATION        /* thr_debug.c */
 #undef ldap_pvt_thread_mutex_t
index cce1001753bfc22e437de4cd50358a6b1d43f5ba..be8640a2a43f73519a0b69f888ec5fc659b4e6fc 100644 (file)
@@ -959,6 +959,22 @@ ldap_pvt_thread_cond_wait(
        return rc;
 }
 
+int
+ldap_pvt_thread_mutex_recursive_init( ldap_pvt_thread_mutex_t *mutex )
+{
+       int rc;
+       init_usage( &mutex->usage, "ldap_pvt_thread_mutex_recursive_init" );
+       rc = ldap_int_thread_mutex_recursive_init( WRAPPED( mutex ) );
+       if( rc ) {
+               ERROR( rc, "ldap_pvt_thread_mutex_recursive_init" );
+               destroy_usage( &mutex->usage );
+       } else {
+               RESET_OWNER( mutex );
+               adjust_count( Idx_mutex, +1 );
+       }
+       return rc;
+}
+
 int
 ldap_pvt_thread_mutex_init( ldap_pvt_thread_mutex_t *mutex )
 {