Kernel: Use a more detailed state machine for socket setup

This commit is contained in:
Conrad Pankoff 2019-08-10 13:17:00 +10:00 committed by Andreas Kling
commit bd6d2c0819
Notes: sideshowbarker 2024-07-19 12:46:39 +09:00
8 changed files with 64 additions and 11 deletions

View file

@ -2313,7 +2313,7 @@ int Process::sys$getpeername(int sockfd, sockaddr* addr, socklen_t* addrlen)
auto& socket = *description->socket();
if (!socket.is_connected())
if (socket.setup_state() != Socket::SetupState::Completed)
return -ENOTCONN;
if (!socket.get_peer_address(addr, addrlen))