mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 07:38:10 +00:00
Kernet/Net: Close a TCP connection using FIN|ACK instead of just FIN
When initiating a connection termination, the FIN should be sent with a ACK from the last received segment even if that ACK already been sent.
This commit is contained in:
parent
d33b99dd24
commit
55faff80df
1 changed files with 1 additions and 1 deletions
|
@ -534,7 +534,7 @@ void TCPSocket::shut_down_for_writing()
|
||||||
{
|
{
|
||||||
if (state() == State::Established) {
|
if (state() == State::Established) {
|
||||||
dbgln_if(TCP_SOCKET_DEBUG, " Sending FIN from Established and moving into FinWait1");
|
dbgln_if(TCP_SOCKET_DEBUG, " Sending FIN from Established and moving into FinWait1");
|
||||||
(void)send_tcp_packet(TCPFlags::FIN);
|
(void)send_tcp_packet(TCPFlags::FIN | TCPFlags::ACK);
|
||||||
set_state(State::FinWait1);
|
set_state(State::FinWait1);
|
||||||
} else {
|
} else {
|
||||||
dbgln(" Shutting down TCPSocket for writing but not moving to FinWait1 since state is {}", to_string(state()));
|
dbgln(" Shutting down TCPSocket for writing but not moving to FinWait1 since state is {}", to_string(state()));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue