freebsd-skq/lib/libc
David Malone 2bc21ed985 Hopefully improve control message passing over Unix domain sockets.
1) Allow the sending of more than one control message at a time
over a unix domain socket. This should cover the PR 29499.

2) This requires that unp_{ex,in}ternalize and unp_scan understand
mbufs with more than one control message at a time.

3) Internalize and externalize used to work on the mbuf in-place.
This made life quite complicated and the code for sizeof(int) <
sizeof(file *) could end up doing the wrong thing. The patch always
create a new mbuf/cluster now. This resulted in the change of the
prototype for the domain externalise function.

4) You can now send SCM_TIMESTAMP messages.

5) Always use CMSG_DATA(cm) to determine the start where the data
in unp_{ex,in}ternalize. It was using ((struct cmsghdr *)cm + 1)
in some places, which gives the wrong alignment on the alpha.
(NetBSD made this fix some time ago).

This results in an ABI change for discriptor passing and creds
passing on the alpha. (Probably on the IA64 and Spare ports too).

6) Fix userland programs to use CMSG_* macros too.

7) Be more careful about freeing mbufs containing (file *)s.
This is made possible by the prototype change of externalise.

PR:		29499
MFC after:	6 weeks
2001-10-04 13:11:48 +00:00
..
alpha Clean up syscall generation in libc by removing HIDDEN_SYSCALLS 2001-01-29 03:23:46 +00:00
amd64 Removed duplicate VCS ID tags, as per style(9). 2001-08-13 14:06:34 +00:00
compat-43 mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
db mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
gen mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
gmon mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
i386 mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
ia64 Fix a whole bunch of dependancy bugs and make it actually work when the 2001-09-22 18:27:01 +00:00
include Fixed namespace pollution related to `warn' in libc (but not in other 2001-08-29 13:52:27 +00:00
locale mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
mips
mipseb Fix all the mipseb Makefiles. They were broken when I checked them in 1999-04-22 07:16:11 +00:00
mipsel Fix all the mipseb Makefiles. They were broken when I checked them in 1999-04-22 07:16:11 +00:00
net Include <string.h> to prototype strcpy(3). While I'm here, make use 2001-10-04 04:42:03 +00:00
nls mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
posix1e Fixed missing `const' in synopsis. 2001-10-03 16:29:21 +00:00
quad $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
regex mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
rpc Hopefully improve control message passing over Unix domain sockets. 2001-10-04 13:11:48 +00:00
stdio mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
stdlib Avoid getting stuck in system(3) when the internal call to wait4() 2001-10-03 11:01:39 +00:00
stdtime mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
string Fixed syntax errors in synopsis. The restrict keyword doesn't exist yet. 2001-10-03 05:19:47 +00:00
sys Fixed misspelled arg type in synopsis. 2001-10-03 01:45:37 +00:00
xdr Fixed various type errors in synopsis. 2001-10-03 16:53:59 +00:00
yp Changed the clnt_perror string in yp_all because it was saying the 2001-05-23 15:37:10 +00:00
Makefile Rip out the old __stdin/out/err stuff. It was completely 100% useless. :-( 2001-08-13 21:48:44 +00:00
Makefile.inc Activate build of posix1e extensions in libc and libc_r that have been 2001-04-04 18:17:28 +00:00