David P. Reese, Jr.
daver at gomerbud.com
Mon Oct 6 02:48:34 PDT 2003
I just researched the history of osendfile().
o Jan 2002: A bug is found in sendfile() that counts the header length
when determining the number of bytes to send. Thus, the file is cut
short by the length of the headers. A fix is committed to -CURRENT.
o June 2002: The fix is MFC'd to 4-STABLE.
o July 2002: In order to maintain binary compatibility, bug-for-bug
compativle versions of the sendfile() syscall are added to both
-STABLE and -CURRENT.
While the compatibility syscall added to -CURRENT was placed in an
#ifdef COMPAT_FREEBSD4 block and aptly named freebsd4_sendfile(),
the version MFC'd to -STABLE the same day was placed in an #ifdef
COMPAT_43 block and named osendfile().
Should I just forget about osendfile()? It clearly does not belong in
emulators/43bsd. I think I'll write a little note in a comment next to
the native syscall about the fix and nuke osendfile(). Any objections?
David P. Reese, Jr. daver at xxxxxxxxxxxx
More information about the Kernel