mirror of
https://github.com/SerenityOS/serenity
synced 2024-07-09 03:10:46 +00:00
Kernel: Block writes while we're establishing the TCP connection
Previously we would not block the caller until the connection was
established and would instead return EPIPE for the first send() call
which then likely caused the caller to abandon the socket.
This was broken by 0625342
.
This commit is contained in:
parent
87b1da4441
commit
c3d702431a
|
@ -584,6 +584,9 @@ bool TCPSocket::can_write(const FileDescription& file_description, size_t size)
|
|||
if (!IPv4Socket::can_write(file_description, size))
|
||||
return false;
|
||||
|
||||
if (m_state == State::SynSent || m_state == State::SynReceived)
|
||||
return false;
|
||||
|
||||
if (!file_description.is_blocking())
|
||||
return true;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user