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.
