Kernel: listen() should fail with EINVAL for already-connected sockets

This according to POSIX.
This commit is contained in:
Andreas Kling 2019-11-27 16:01:22 +01:00
parent 66a9c233be
commit 23a2e84873
Notes: sideshowbarker 2024-07-19 11:02:57 +09:00

View file

@ -2438,6 +2438,8 @@ int Process::sys$listen(int sockfd, int backlog)
if (!description->is_socket())
return -ENOTSOCK;
auto& socket = *description->socket();
if (socket.is_connected())
return -EINVAL;
return socket.listen(backlog);
}