Re: [Exim] PSH flag problems

Top Page
Delete this message
Reply to this message
Author: John Dalbec
Date:  
To: exim-users
Subject: Re: [Exim] PSH flag problems

Philip Hazel wrote:
>
> On 3 Apr 2002, Nigel Metheringham wrote:
>
> > On Wed, 2002-04-03 at 15:05, John Dalbec wrote:
> > > According to the man page, the results of write() to a special file are
> > > not portable, so IMO exim should not assume that write() sends a PUSH
> > > bit and should take additional steps to ensure that a PUSH bit is sent.
> >
> > Like what? The data has already been flushed (and even sent). There is
> > nothing user space can do (short of fiddling with raw TCP data) to fix
> > this.
>
> I'm a simple applications programmer. :-) It was always my understanding
> that once you have a TCP/IP connection established, you can write at one
> end and read at the other and it behaves as a reliable byte-stream
> connection. I thought that was the whole point of TCP/IP.
>
> And as Nigel says, "like what?". What can an application do to cause a
> PUSH to be sent?
>

After reading the RFCs I assumed that Linux must have a PUSH flag that
could be set on a send() call (though not a write() call for obvious
reasons). I see now that it doesn't. Then I thought perhaps a
write(fd,NULL,0) would work around this kernel bug, but no such luck.
Red Hat has acknowledged that it is a kernel bug:

bugzilla@??? wrote:
>
> Please do not reply directly to this email. All additional
> comments should be made in the comments box of this bug
> report.
>
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=62500
>
> --- shadow/62500        Wed Apr  3 09:45:43 2002
> +++ shadow/62500.tmp.409        Wed Apr  3 11:19:23 2002
> @@ -100,3 +100,8 @@

>
> ------- Additional comments from johnsonm@??? 2002-04-03 10:13:00 -------
> Dave, can you reconcile these two quotes in context?
> +
> +------- Additional comments from davem@??? 2002-04-03 11:46:41 -------
> +It looks like indeed we are required to fix this.
> +I'll cook up a patch.
> +


John