Playing with Hallvard's thread debugging code I came into something that looks strange: slapd does tpool init/cleanup fine, while tools don't. Looking at things in a bit more detail, what I found out is that both slapd create the connection_pool (while tools clearly don't need it) but then slapd first calls ldap_pvt_thread_pool_destroy() for it and then calls ldap_int_thread_pool_shutdown() from inside ldap_pvt_thread_destroy(); the tools, on the contrary, just call ldap_int_thread_pool_shutdown() from inside ldap_pvt_thread_destroy(), which results in an error condition. I've solved it the way it's committed, but I don't understand why ldap_int_thread_pool_shutdown() doesn't just shutdown and destroy the connection_pool.
p. Ing. Pierangelo Masarati Responsabile Open Solution OpenLDAP Core Team SysNet s.n.c. Via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it ------------------------------------------ Office: +39.02.23998309 Mobile: +39.333.4963172 Email: [EMAIL PROTECTED] ------------------------------------------
