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. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/unix/af_unix.c?id=815f0ddb346c196018d4d8f8f55c12b83da1de3f#n1267 Signed-off-by: Benjamin Peterson <benjamin@xxxxxxxxxx> --- man2/connect.2 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/man2/connect.2 b/man2/connect.2 index 5941cf2d3..313f73add 100644 --- a/man2/connect.2 +++ b/man2/connect.2 @@ -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 -- 2.17.1