On Wednesday 29 August 2007 17:36, Howard Chu wrote:
> Full_Name: Ralf Haferkamp
> Version: RE23, HEAD
> Valgrind gives me the log pasted below when I abort an ldapsearch command
> (CTRL-C) that is running against a back-ldap database that uses the
> pcache overlay.
Makes sense. We need to use the cleanup handler and free the saved query
info if op->o_abandon is set. Do you want to code this up?
I am still working on
that, but checking for op->o_abandon doesn't seem to be
enough. E.g. if I abort the ldapsearch while slapd is updating its cache (all
entries have been returned, but the final LDAP_RESULT to the client is still
missing) a filter_free in the cleanup handler will invalidly free the filter.
We somehow need to make sure that the query is only free'd if nothing has been
written to the cache database.