Pierangelo Masarati wrote:
On Thu, 2006-04-27 at 20:53 -0700, Howard Chu wrote:
Pierangelo Masarati wrote:
Playing with Hallvard's thread debugging code I came into something that
looks strange: slapd does tpool init/cleanup fine, while tools don't.
I wasn't paying attention the first time this email came around. The
back-bdb tools *do* use the thread pool in Quick mode. slapd/init.c rev
1.96 breaks slapadd/slapindex now, which was using the thread pool to
spawn its indexing threads.
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.
--
-- 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/