h.b.furuseth@usit.uio.no wrote:
HEAD has gotten a new function ldap_pvt_thread_pool_setkey_x() replacing ldap_pvt_thread_pool_setkey() (now a macro), but the change is incomplete. Fixing thr_stub & thr_debug, they still define ldap_pvt_thread_pool_setkey.
Related: overlays/memberof.c, pool_<getkey and setkey_x> should receive a pointer to a void variable, not a (void **) cast of the address of a non-void pointer variable. Otherwise a void* pointer gets stored in a non-void* pointer instead of being converted to void.
I'll combine another of memberof's getkey() followed by setkey() into setkey_x() while I'm at it.
Also making passwd.c:slap_passwd_check() and backend.c:be_rootdn_bind() reentrant: Use setkey_x()/setkey() to push/pop the key=slap_sasl_bind value instead of setkey()/setkey() to set/reset it.
Would it make any sense, at this point, to simply change the API of setkey(), eliminating that spurious setkey_x()?
p.
Ing. Pierangelo Masarati OpenLDAP Core Team
SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it --------------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Email: pierangelo.masarati@sys-net.it ---------------------------------------