Re: [Exim] Exim4.01 Bug: LDAP connection pool reuse fails

Top Page
Delete this message
Reply to this message
Author: Jason Stratford
Date:  
To: exim-users
Subject: Re: [Exim] Exim4.01 Bug: LDAP connection pool reuse fails
Yup, that seems to work fine now.
Many thanks
Jason

On Fri, 2002-03-22 at 10:14, Philip Hazel wrote:
> On 21 Mar 2002, Jason Stratford wrote:
>
> > Thanks for the reply, here are the transport and director I use (if you
> > need the entire config file, let me know and I will send it off list)...
>
> Thanks. That confirms my diagnosis, so I believe I now understand what
> happened. Please can you try the patch below and let me know if it
> works.
>
> Thanks,
> Philip
>
> --
> Philip Hazel            University of Cambridge Computing Service,
> ph10@???      Cambridge, England. Phone: +44 1223 334714.

>
>
>
>
> *** exim-4.01/src/deliver.c Mon Mar  4 10:03:41 2002
> --- deliver.c    Fri Mar 22 10:05:45 2002
> ***************
> *** 1395,1402 ****
>     return;
>     }

>
> ! /* Now fork the process to do the real work in the sub-process. */
>
>   if ((pid = fork()) == 0)
>     {
>     BOOL replicate = TRUE;
> --- 1393,1404 ----
>     return;
>     }

>
> ! /* Now fork the process to do the real work in the subprocess, but first
> ! ensure that all cached resources are freed so that the subprocess starts with
> ! a clean slate and doesn't interfere with the parent process. */
>
> + search_tidyup();
> +
>   if ((pid = fork()) == 0)
>     {
>     BOOL replicate = TRUE;
> ***************
> *** 3221,3228 ****
>       continue;
>       }

>
> ! /* Now fork a sub-process to do the remote delivery. */
>
>     if ((pid = fork()) == 0)
>       {
>       int fd = pfd[pipe_write];
> --- 3234,3245 ----
>       continue;
>       }

>
> ! /* Now fork a subprocess to do the remote delivery, but before doing so,
> ! ensure that any cached resourses are released so as not to interfere with
> ! what happens in ths subprocess. */
>
> +   search_tidyup();
> +
>     if ((pid = fork()) == 0)
>       {
>       int fd = pfd[pipe_write];

>