-typedef ldap_int_thread_t ldap_pvt_thread_t;
-typedef ldap_int_thread_mutex_t ldap_pvt_thread_mutex_t;
-typedef ldap_int_thread_cond_t ldap_pvt_thread_cond_t;
+#ifndef LDAP_PVT_THREAD_H_DONE
+typedef ldap_int_thread_t ldap_pvt_thread_t;
+#ifdef LDAP_THREAD_DEBUG_WRAP
+typedef ldap_debug_thread_mutex_t ldap_pvt_thread_mutex_t;
+typedef ldap_debug_thread_cond_t ldap_pvt_thread_cond_t;
+typedef ldap_debug_thread_rdwr_t ldap_pvt_thread_rdwr_t;
+#else
+typedef ldap_int_thread_mutex_t ldap_pvt_thread_mutex_t;
+typedef ldap_int_thread_cond_t ldap_pvt_thread_cond_t;
+typedef ldap_int_thread_rdwr_t ldap_pvt_thread_rdwr_t;
+#endif
+typedef ldap_int_thread_rmutex_t ldap_pvt_thread_rmutex_t;
+#endif /* !LDAP_PVT_THREAD_H_DONE */
+
+#if 0 && defined(LDAP_DEVEL)
+/* must also be defined in slapd.h */
+#define LDAP_PVT_THREAD_POOL_SEM_LOAD_CONTROL
+#endif
+
+#define ldap_pvt_thread_equal ldap_int_thread_equal