Yes, this sounds familiar. I guess I mentioned it but didn't have time
to check it. The offending if() comes from tpool.c rev 1.81, which was
apparently a wrong fix to ITS#5194. rev 1.82 was the right fix.
(Except I'm not so sure it was the _complete_ fix - might need to lock
ldap_pvt_thread_pool_mutex while changing or even accessing *tpool, or
something like that...)
Anyway, the patch looks correct to me, undoing rev 1.81.
The current code is clear enough in retrospect - a thread pool pause in
halts pool_destroy() since pool_resume() doesn't broadcast - and thus a
cn=config update (or access?) aborts slapd shutdown:-(
--
Hallvard