Re: [exim] stuck exim processes

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Jeremy Harris
Date:  
À: exim-users
Sujet: Re: [exim] stuck exim processes
On 09/03/2022 21:22, Michael Tratz via Exim-users wrote:
> I have added the following patch:
>
> diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c
> index 6a979a243..f97b0c625 100644
> --- a/src/src/transports/smtp.c
> +++ b/src/src/transports/smtp.c
> @@ -4800,7 +4800,11 @@ if (sx->send_quit || tcw_done && !tcw)
>   # ifdef EXIM_TCP_CORK
>       (void) setsockopt(sx->cctx.sock, IPPROTO_TCP, EXIM_TCP_CORK, US &on, sizeof(on));
>   # endif
> -    tls_close(sx->cctx.tls_ctx, TLS_SHUTDOWN_WAIT);
> +    if (sx->send_tlsclose)
> +      {
> +      tls_close(sx->cctx.tls_ctx, TLS_SHUTDOWN_WAIT);
> +      sx->send_tlsclose = FALSE;
> +      }
>       sx->cctx.tls_ctx = NULL;
>       }
>   #endif

>
> Exim has been running for about a week using this patch and I haven't experienced any issues. I don’t know if that is the correct fix or if there is a better way. But I hope it helps in figuring out the root cause of the issue.


The implication of that working is that a tls-shutdown had already been sent... ah,
but not necessarily waited for, and that bit ought to be done at this time.

Which probably means the tls_close() routine needs a richer interface.
I'll have a go at that and see what the testsuite thinks.
--
Cheers,
Jeremy