[email protected] wrote: > [email protected] wrote: >> Full_Name: Hallvard B Furuseth >> Version: HEAD >> OS: Linux x86_64 >> URL: >> Submission from: (NULL) (193.157.198.89) >> Submitted by: hallvard >> >> >> Core dump in back-monitor with LDAP_THREAD_DEBUG when I hit ^C: >> >> ASSERT_OWNER( mutex, "ldap_pvt_thread_mutex_unlock" ); > > I see this too. The Abandon loop's logic is backwards. It's looping from the > current entry to the end of the list and releasing those entries, when it > should only be reasling from the head of the list to the current entry. (I.e., > everything on the tail of the list has not yet been locked by this thread.) > > I'll commit a fix shortly.
Never mind, I read this loop wrong. The actual problem is that it calls monitor_cache_release() for volatile entries that had never been locked, and it enters the nonvolatile == 0 loop even when there were no volatile entries. -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
