[2.4.14] wrong IPv4 listen syscall return code

Francois-Xavier KOWALSKI (francois-xavier_kowalski@hp.com)
Wed, 21 Nov 2001 14:28:26 +0100


Hello kernel developpers,

(please Cc: me in reply, since I am not on the ML).

I am puzzled my a problem around the listen(2) system call.

The man page states the following item, which make sense:

ERRORS
EADDRINUSE
Another socket is already listening on the same
port.

EBADF The argument s is not a valid descriptor.

ENOTSOCK
The argument s is not a socket.

EOPNOTSUPP
The socket is not of a type that supports the lis­
ten operation.

But when I go within the source code of listen implementation for STREAM
protocol (as specified for TCL in net/ipv4/af_inet.c) in the function
inet_listen() the default return code is EINVAL instead of EOPNOTSUPP.

Who holds the truth? I believe source code is wrong, since EOPNOTSUPP is
much more explicit.

BTW, where is the official & as much up-to-date as possible source for
kernel syscalls man pages?

-- 
Francois-Xavier "FiX" KOWALSKI

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/