Hello, Gavin Grant, le jeu. 30 août 2018 16:57:57 +0100, a ecrit: > Commit 27d92ebc5ed1bb0b518d0ebc4c609182ad20a799 handled the case where the TCP > connection is abruptly closed via a RST packet, by checking for the ECONNRESET > errno. However it does not consider the case where the connection has been > half-closed by the host (FIN/ACK), then the host socket is disconnected. For > example, if the host application calls close() on the socket, then the > application exits. > > In this case, the socket still exists due to the file descriptor in SLIRP, but > it is disconnected. recv() does not indicate an error since an orderly socket > close has previously occurred. The socket will then be stuck in FIN_WAIT_2, > until the peer sends FIN/ACK or a timeout occurs. Instead we can send a RST > to the peer and transition to the CLOSED state. > > Signed-off-by: Gavin Grant <gavingr...@protonmail.com>
I have fixed it a bit and pushed to my tree, thanks! Samuel