summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2004-10-17 07:13:34 +0000
committeralfred <alfred@FreeBSD.org>2004-10-17 07:13:34 +0000
commit6102082486186990a57ad1b2b789a762edad85f3 (patch)
tree70d37449b51d86361fb191087354b6371520c1e6 /lib
parent3d89cd8c71a1b9301aba63eab3d9fd6775b9863f (diff)
downloadFreeBSD-src-6102082486186990a57ad1b2b789a762edad85f3.zip
FreeBSD-src-6102082486186990a57ad1b2b789a762edad85f3.tar.gz
Document EMSGSIZE return from recvmsg due to insufficient free files
when transfering rights (file descriptors.)
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/sys/recv.211
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/libc/sys/recv.2 b/lib/libc/sys/recv.2
index 1131824..51d8d61 100644
--- a/lib/libc/sys/recv.2
+++ b/lib/libc/sys/recv.2
@@ -207,7 +207,9 @@ struct cmsghdr {
.Ed
As an example, one could use this to learn of changes in the data-stream
in XNS/SPP, or in ISO, to obtain user-connection-request data by requesting
-a recvmsg with no data buffer provided immediately after an
+a
+.Fn recvmsg
+with no data buffer provided immediately after an
.Fn accept
system call.
.Pp
@@ -287,6 +289,13 @@ and
The argument
.Fa s
does not refer to a socket.
+.It Bq Er EMSGSIZE
+.Fn recvmsg
+was used to receive rights (file descriptors) that were in flight on the
+connection. However, the receiving program did not have enough free file
+descriptor slots to accept the them. In this case the descriptors are
+closed, any pending data can be returned by another call to
+.Fn recvmsg .
.It Bq Er EAGAIN
The socket is marked non-blocking, and the receive operation
would block, or
OpenPOWER on IntegriCloud