Justin Erenkrantz <[EMAIL PROTECTED]> wrote:
>
>apr_sendfile doesn't have an implementation in APR defined for
>HP-UX.  I do know that HP has different sendfile() semantics than 
>Solaris or FreeBSD.  I seem to remember Linus Torvalds mentioning 
>on lkml that HP-UX had "braindamage" in its sendfile implementation:

The problem with sendfile() is the way it is frequently used in
conjunction with write() or writev() -- you use write() to send some
headers and then sendfile() for the bulk data. This usually means that
you get a forced packet boundary between the headers and the file
data, which usually means you aren't making the most of the MTU. HP/UX
addresses this issue by including an iovec in the sendfile() call for
the header; FreeBSD adds a second iovec for the trailer. However this
still leaves you with a forced packet boundary between files. Linux
doesn't include any iovecs in sendfile(); instead you must use
setsockopt(TCP_CORK) to prevent undesired packet boundaries.

Tony.
-- 
f.a.n.finch    [EMAIL PROTECTED]    [EMAIL PROTECTED]
FAIR ISLE: NORTHWEST 5 INCREASING 6 OR 7, OCCASIONALLY GALE 8, BACKING
SOUTHWEST FOR A TIME. RAIN THEN SHOWERS. MODERATE OR GOOD.

Reply via email to