#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_getkey ldap_int_thread_pool_getkey
-#define ldap_pvt_thread_pool_setkey ldap_int_thread_pool_setkey
+#define ldap_pvt_thread_pool_setkey_x ldap_int_thread_pool_setkey_x
#define ldap_pvt_thread_pool_purgekey ldap_int_thread_pool_purgekey
#define ldap_pvt_thread_pool_context ldap_int_thread_pool_context
#define ldap_pvt_thread_pool_context_reset ldap_int_thread_pool_context_reset
#undef ldap_pvt_thread_pool_resume
#undef ldap_pvt_thread_pool_destroy
#undef ldap_pvt_thread_pool_getkey
-#undef ldap_pvt_thread_pool_setkey
+#undef ldap_pvt_thread_pool_setkey_x
#undef ldap_pvt_thread_pool_purgekey
#undef ldap_pvt_thread_pool_context
#undef ldap_pvt_thread_pool_context_reset
}
int
-ldap_pvt_thread_pool_setkey(
+ldap_pvt_thread_pool_setkey_x(
void *xctx,
void *key,
void *data,
- ldap_pvt_thread_pool_keyfree_t *kfree )
+ ldap_pvt_thread_pool_keyfree_t *kfree,
+ void **olddatap,
+ ldap_pvt_thread_pool_keyfree_t **oldkfreep )
{
int rc;
- ERROR_IF( !threading_enabled, "ldap_pvt_thread_pool_setkey" );
- rc = ldap_int_thread_pool_setkey( xctx, key, data, kfree );
- ERROR_IF( rc, "ldap_pvt_thread_pool_setkey" );
+ ERROR_IF( !threading_enabled, "ldap_pvt_thread_pool_setkey_x" );
+ rc = ldap_int_thread_pool_setkey_x(
+ xctx, key, data, kfree, olddatap, oldkfreep );
+ ERROR_IF( rc, "ldap_pvt_thread_pool_setkey_x" );
return rc;
}
return(0);
}
-int ldap_pvt_thread_pool_setkey (
- void *ctx, void *key, void *data, ldap_pvt_thread_pool_keyfree_t *kfree )
+int ldap_pvt_thread_pool_setkey_x (
+ void *ctx, void *key,
+ void *data, ldap_pvt_thread_pool_keyfree_t *kfree,
+ void **olddatap, ldap_pvt_thread_pool_keyfree_t **oldkfreep )
{
+ if ( olddatap ) *olddatap = NULL;
+ if ( oldkfreep ) *oldkfreep = 0;
return(0);
}