Ignore tcp sent cb when there's no asscociated nc

TCP ACK may arrive after the we've corresponding mg_connection has already been closed.
Fixes cesanta/mongoose-os#235

PUBLISHED_FROM=8164b86131ef08c1b2a6a08630920d600b3f91ac
This commit is contained in:
Deomid Ryabkov authored and Cesanta Bot committed 2017-04-18 14:38:08 +00:00
1 parent 1cee8a16b9
commit 84907d5bc4
1 file changed
+1
+1
View File
@@ -14203,6 +14203,7 @@ static err_t mg_lwip_tcp_sent_cb(void *arg, struct tcp_pcb *tpcb,
u16_t num_sent) {
struct mg_connection *nc = (struct mg_connection *) arg;
DBG(("%p %p %u", nc, tpcb, num_sent));
if (nc == NULL) return ERR_OK;
if ((nc->flags & MG_F_SEND_AND_CLOSE) && !(nc->flags & MG_F_WANT_WRITE) &&
nc->send_mbuf.len == 0 && tpcb->unacked == 0) {
mg_lwip_post_signal(MG_SIG_CLOSE_CONN, nc);