sendfile(2) SF_NOPUSH flag proposal
Terry Lambert
tlambert2 at mindspring.com
Wed May 28 22:11:09 PDT 2003
Bill Fenner wrote:
> Why not set PRUS_MORETOCOME on all but the final pru_send() call?
If the file is larger than `sysctl net.inet.tcp.sendspace`, then
this code in do_sendfile():
if (sbspace(&so->so_snd) < so->so_snd.sb_lowat) {
if (so->so_state & SS_NBIO) {
m_freem(m);
sbunlock(&so->so_snd);
splx(s);
error = EAGAIN;
goto done;
}
error = sbwait(&so->so_snd);
will result in you sleeping with PRUS_MORETOCOME set, but with
no more being sent because the send buffer doesn't get emptied,
as it's waiting for more data to send.
-- Terry
More information about the freebsd-arch
mailing list