mirror of https://github.com/mkerrisk/man-pages
connect.2: Document error semantics of nonblocking UNIX domain sockets
connect(2) on a nonblocking UNIX domain socket when the receive queue is full results in EAGAIN [1]. This is unlike other connection-based socket families that return EINPROGRESS as already documented. mtk: confirmed with some light testing. And in net/unix/af_unix.c::unix_stream_connect(), we have: if (unix_recvq_full(other)) { err = -EAGAIN; if (!timeo) goto out_unlock; Signed-off-by: Benjamin Peterson <benjamin@python.org> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
fa38cc321f
commit
1466257758
|
@ -168,7 +168,9 @@ The passed address didn't have the correct address family in its
|
|||
field.
|
||||
.TP
|
||||
.B EAGAIN
|
||||
Insufficient entries in the routing cache.
|
||||
For nonblocking UNIX domain sockets, the socket is nonblocking, and the
|
||||
connection cannot be completed immediately. For other socket families, there are
|
||||
insufficient entries in the routing cache.
|
||||
.TP
|
||||
.B EALREADY
|
||||
The socket is nonblocking and a previous connection attempt has not yet
|
||||
|
@ -188,7 +190,9 @@ The socket structure address is outside the user's address space.
|
|||
.TP
|
||||
.B EINPROGRESS
|
||||
The socket is nonblocking and the connection cannot be completed
|
||||
immediately.
|
||||
immediately. (UNIX domain sockets return
|
||||
.BR EAGAIN
|
||||
instead.)
|
||||
It is possible to
|
||||
.BR select (2)
|
||||
or
|
||||
|
|
Loading…
Reference in New Issue