------- Comment #4 from ph10@??? 2007-02-28 10:31 -------
On Wed, 28 Feb 2007, steve@??? wrote:
> ------- Comment #3 from steve@??? 2007-02-28 10:20 -------
> OK, I've tried lots of fflush()es and it makes no difference.
> I've attached a patch for dovecot.c with both buffered I/O and a version with
> fully unbuffered I/O (always the best way to go with sockets IMHO) which can be
> switched by defining "BUFFERED_IO" at compile time.
Thanks for the tests and patch. If buffered I/O doesn't work properly,
then I would plump for changing to unbuffered I/O regardless. I don't
think we need to mess with the complication of having an option. I agree
about unbuffered I/O and sockets (I didn't write the Dovecot code).
It might be best to change to using send() and recv(). (Or ip_recv(), an
Exim function that calls recv() under a timeout.) I'll take a look at
this sometime soon.