From f374ac5f9a1eb814e1bc2413aeda66be2162f363 Mon Sep 17 00:00:00 2001
From: Deomid Ryabkov <rojer@cesanta.com>
Date: Tue, 20 Jun 2017 20:49:50 +0100
Subject: [PATCH] Do not close already closed connection

PUBLISHED_FROM=9e345f2319141f20b89e28a2d29adba21ea213e1
---
 mongoose.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mongoose.c b/mongoose.c
index 7f7f099c9..3015c29fa 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -14230,7 +14230,7 @@ static err_t mg_lwip_tcp_recv_cb(void *arg, struct tcp_pcb *tpcb,
   struct mg_connection *nc = (struct mg_connection *) arg;
   DBG(("%p %p %u %d", nc, tpcb, (p != NULL ? p->tot_len : 0), err));
   if (p == NULL) {
-    if (nc != NULL) {
+    if (nc != NULL && !(nc->flags & MG_F_CLOSE_IMMEDIATELY)) {
       mg_lwip_post_signal(MG_SIG_CLOSE_CONN, nc);
     } else {
       /* Tombstoned connection, do nothing. */
-- 
GitLab