From a82e02ef15985f951317b1d739845bb47796b285 Mon Sep 17 00:00:00 2001 From: christiaans Date: Mon, 7 Aug 2006 10:00:44 +0000 Subject: [PATCH] Partial fix for bug #15926, flushing TCP output in do_close(). --- src/api/api_msg.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/api/api_msg.c b/src/api/api_msg.c index f2c4f44f..09bafda3 100644 --- a/src/api/api_msg.c +++ b/src/api/api_msg.c @@ -761,7 +761,10 @@ do_close(struct api_msg_msg *msg) #if LWIP_TCP case NETCONN_TCP: if (msg->conn->pcb.tcp->state == LISTEN) { - err = tcp_close(msg->conn->pcb.tcp); + err = tcp_close(msg->conn->pcb.tcp); + } + else if (msg->conn->pcb.tcp->state == CLOSE_WAIT) { + err = tcp_output(msg->conn->pcb.tcp); } msg->conn->err = err; #endif