Subject: Re: 2 small network hacks...
To: Chris Gray <>
From: None <>
List: tech-net
Date: 09/11/2001 13:13:03
In message <Pine.NEB.3.95.1010910191316.19902A-100000@localhost>Chris Gray writ
>On Mon, 10 Sep 2001, Ignatios Souvatzis wrote:
>> On Fri, Sep 07, 2001 at 09:09:41PM -0400, Bill Sommerfeld wrote:
>> > 
>> > When I'm in a weird mood, I get the sense that fsync() on the socket
>> > should also cause a PUSH ;-)
>> what is weird about that?
>I was going to say: you mean it doesn't? ;>

Well, it doesn't need to with the current stack semantics, 'cause 
the data will get sent out as soon as possible.  With the TCP_NOPUSH
hack, the data would only be sent out when there was a segment size
worth of it, the socket was closed, or the TCP_NOPUSH socket option 
was turned off.

Would there be serious objections to putting this little hack in
*without* the fsync() feature?  I kinda figure that if the applications
programmer is gonna turn on this feature, she oughta know what she's 
getting into, and shouldn't expect stdio to work on it in a completely
transparent fashion.

It's not so much that I think adding fsync() is a bad idea, I'm just
too lazy to go digging through libc to make it happen.  Do FreeBSD
and Linux do this (in which case, I guess I better)?