summaryrefslogtreecommitdiffstats
path: root/src/net/tcp.c
diff options
context:
space:
mode:
authorMichael Brown2015-07-18 11:57:51 +0200
committerMichael Brown2015-07-22 22:16:40 +0200
commit9546b0c17bfa01b7c3c0b3162187f4357c4c03d4 (patch)
tree3e8bbe805de7cc1df4d46c8098d44be6f6595b9e /src/net/tcp.c
parent[build] Add named configuration for qemu (diff)
downloadipxe-9546b0c17bfa01b7c3c0b3162187f4357c4c03d4.tar.gz
ipxe-9546b0c17bfa01b7c3c0b3162187f4357c4c03d4.tar.xz
ipxe-9546b0c17bfa01b7c3c0b3162187f4357c4c03d4.zip
[tcp] Ensure FIN is actually sent if connection is closed while idle
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net/tcp.c')
-rw-r--r--src/net/tcp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/net/tcp.c b/src/net/tcp.c
index 1ead7112..c69c83b8 100644
--- a/src/net/tcp.c
+++ b/src/net/tcp.c
@@ -400,6 +400,7 @@ static void tcp_close ( struct tcp_connection *tcp, int rc ) {
tcp->tcp_state |= TCP_STATE_SENT ( TCP_FIN );
tcp_dump_state ( tcp );
+ process_add ( &tcp->process );
/* Add a pending operation for the FIN */
pending_get ( &tcp->pending_flags );