Subject: Re: 2 small network hacks...
To: Chris Gray <chris@kiffer.eunet.be>
From: None <kml@selresearch.net>
List: tech-net
Date: 09/11/2001 13:13:03
In message <Pine.NEB.3.95.1010910191316.19902A-100000@localhost>Chris Gray writ
es
>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)?
Thanks,
Kevin
kml@selresearch.net