freebsd-skq/lib
Alfred Perlstein a9ee9c593d Fix a number of subtle and evil bugs in the libc_r wrapping of sendfile(2).
o) Since we unwrap the sendfile syscall, check the return value of
   writev(2) to see if it didn't complete all the data.
   Previously if only a partial writev() succeeded, it would proceed
   to sendfile(2) even though the headers weren't completely sent.

o) Properly adjust the "bytes to send" to take into account sendfile(2)'s
   behaviour of counting the headers against the bytes to be transfered
   from the file.

o) Correct the problem where EAGAIN was being returned from _sys_sendfile(2)
   however the wrapper didn't update the 'sent bytes' parameter to take into
   account for it.  This is because sendfile can return EAGAIN even though
   it has actually transfered data.

Special thanks to Justin Erenkrantz <jerenkrantz@apache.org> for bringing
this to my attention and giving an excellent way to reproduce the problem.

PR: kern/32684
MFC After: 1 week
2001-12-12 08:02:24 +00:00
..
compat Shared libraries from 4.4-FreeBSD needed for proper binary compatibility. 2001-10-10 20:33:20 +00:00
csu Put in an attempt at stack trace/unwind records. 2001-11-03 06:31:27 +00:00
libalias When servicing an internal FTP server, punch ipfirewall(4) holes 2001-11-27 10:50:23 +00:00
libatm __FBSDID() Cleanup 2001-09-30 21:06:00 +00:00
libbind
libbz2
libc Add my e-mail to copyrights 2001-12-11 16:00:47 +00:00
libc_r Fix a number of subtle and evil bugs in the libc_r wrapping of sendfile(2). 2001-12-12 08:02:24 +00:00
libcalendar mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libcam mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libcom_err
libcompat mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libcrypt mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libdevinfo Made this header self-sufficient. 2001-10-03 05:25:07 +00:00
libdevstat Fixed wrong arg type in synopsis. 2001-10-03 03:57:42 +00:00
libdisk Add auto-fill-on-delete. When deleting an 'A'uto created partition 2001-12-09 23:40:02 +00:00
libedit mdoc(7) police: markup nit in the actual rev. 1.13 changes. 2001-11-21 15:56:45 +00:00
libfetch Don't build with NDEBUG. 2001-12-09 15:06:38 +00:00
libform
libftpio mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libgnumalloc Do not fail doing rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.a if the 2001-11-03 06:33:08 +00:00
libio Add __FBSDID()s to libio 2001-09-30 21:41:46 +00:00
libipsec mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libipx mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libisc
libkse Fix pthread_join so that it works if the target thread exits while 2001-11-17 14:28:39 +00:00
libkvm s/processes/files/ inherited from kvm_getprocs(3). 2001-11-24 15:38:28 +00:00
libm Removed most of the zombie man pages in libm. All relevant parts have 2001-10-13 14:22:08 +00:00
libmd mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libmenu
libmp Fixed spelling of rpow in rpow's prototype. 2001-10-03 16:33:00 +00:00
libncp Compensate for "Compensate for header dethreading" by backing it out. 2001-10-10 17:48:44 +00:00
libncurses Add __FBSDID()s to libncurses 2001-09-30 22:02:43 +00:00
libnetgraph Fix bugs in NgSendMsg() and NgSendAsciiMsg() where the wrong token 2001-10-25 04:02:25 +00:00
libopie Add __FBSDID()s to libopie 2001-09-30 22:04:49 +00:00
libpam Style improvements recommended by Bruce as a follow up to some 2001-12-10 21:13:08 +00:00
libpanel
libpcap
libpthread Fix pthread_join so that it works if the target thread exits while 2001-11-17 14:28:39 +00:00
libradius mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libresolv Dont fail if ${DESTDIR}${LIBDIR}/ or any of its components dont 2001-11-03 06:26:15 +00:00
librpcsvc Add __FBSDID()s to librpcsvc 2001-09-30 22:15:15 +00:00
libsbuf
libsmdb
libsmutil
libstand We support writing to at least one filesystem now. 2001-12-11 00:04:28 +00:00
libtacplus mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libtelnet Merge the (in)complete ANSIfication work from src/crypto/telnet. 2001-11-30 22:37:28 +00:00
libusb mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libusbhid mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
libutil o Reflect repo-copy of extattr.[c3] from libutil to libc, moving 2001-11-16 05:09:45 +00:00
libvgl Fixed bitrot in synopsis. The change of the color type from byte to u_long 2001-10-03 15:20:03 +00:00
libwrap
libxpg4
liby Dont fail if the intermediate directories in ${DESTDIR}/usr/lib/compat/* 2001-11-03 06:24:23 +00:00
libz Add huff __FBSDID()s puff to whew! libz 2001-09-30 22:39:00 +00:00
msun Grammar nit. 2001-11-21 09:25:14 +00:00
ncurses Add __FBSDID()s to libncurses 2001-09-30 22:02:43 +00:00
Makefile Fix NO_SENDMAIL knob. When FreeBSD's old BSD version of vacation was 2001-11-11 05:26:59 +00:00
Makefile.inc