Pierangelo Masarati wrote:So it seems slapd's explicit call to ldap_pvt_thread_pool_destroy() is unnecessary since all the pools are destroyed eventually anyway.
OK, sorry about that; I've seen that you fixed it. However, the initial problem persists: tpool cleanup (actually, all thread destroy) seems to be inconsistent, as it occurs even if no initialization was required, but it seems to assume that a task list exists.
I see, the pool_shutdown function was removing the pool from the list before calling pool_destroy, and pool_destroy also tries to remove the pool from the list. pool_shutdown was doing too much here, fixed now in HEAD.
I now see this message when slapd exits: == thr_debug: Leaked 2 unexited threads, 46 mutexes. ==
-- -- Howard Chu Chief Architect, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc OpenLDAP Core Team http://www.openldap.org/project/