John Dalbec wrote:
>> IIRC exim calls the tidyup-function of all lookuptypes before spawning a
>> new process, so this shouldn't happen as long as ldap_tidyup is
>> implemented correctly.
>
> I don't think that's happening in rda.c:
Hmm, right.
> /* Ensure that SIGCHLD is set to SIG_DFL before forking, so that the child
> process can be waited for. We sometimes get here with it set otherwise.
> Save
> the old state for resetting on the wait. */
search_tidyup(); <<<< Add this
> oldsignal = signal(SIGCHLD, SIG_DFL);
> if ((pid = fork()) == 0)
> I see nothing about tidying up in this code. What should I add?
The search_tidyup should free all lookup resources the current process
uses. The problem is, that the main-process will also delete the whole
lookup cache, that could result in a bad performance.
Nico