Re: [Exim] Read timeout - Socket options changed in Exim 4?

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Philip Hazel
Date:  
À: Jonathan Hunter
CC: exim-users
Sujet: Re: [Exim] Read timeout - Socket options changed in Exim 4?
On Fri, 22 Aug 2003, Jonathan Hunter wrote:

> Hi,


Firstly, the message you posted to the list contained this line:

To: "" <<exim-users@???>>

Note that that is syntactically invalid. Pine barfed when I tried to
"reply to all" on it. Please fix your MUA. Now to the real reply...

> [pid  9180] write(2, "250 server.#######.### Hell"..., 73) = 73
> [pid  9180] alarm(300)                  = 0
> [pid  9180] read(3,  <unfinished ...>

>
> It looks as if the client never sees the 250 response, or Exim never sees the
> client's reply.


I suppose it might be worth running tcpdump at the server, just to be
sure the packet does actually go out. Then if you can also snoop the
network at the client's end, see if the packet arrives.

> Since the client software hasn't changed, I wondered if Exim was perhaps using
> different socket options in version 4. Exim 4 sets the TCP_NODELAY option in
> src/daemon.c, whereas version 3 appears not to:


If I recall correctly, NODELAY causes the TCP/IP stack to send out
packets immediately, without waiting for a short time to see if more
data arrives from the application. So it should make for a *faster*
response...

> What's the best course of action from here? Should I recompile Exim 4 without
> the TCP_NODELAY option and see if that makes a difference (or would that
> simply break it)?


That shouldn't break it. If it makes a difference, it would be somewhat
amazing, and again, TCP traces would be interesting.

Philip

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book