]> granicus.if.org Git - esp-idf/commitdiff
assert when close a connecting socket
authorzhangyanjiao <zhangyanjiao@espressif.com>
Mon, 21 Aug 2017 08:32:50 +0000 (16:32 +0800)
committerzhangyanjiao <zhangyanjiao@espressif.com>
Tue, 22 Aug 2017 12:36:35 +0000 (20:36 +0800)
components/lwip/api/api_msg.c

index b49d26041d6f524415e896f61cf475cf76323ad5..bfb07b876ace16acde8a8f51109bf6f73f57b9e1 100755 (executable)
@@ -1026,9 +1026,12 @@ lwip_netconn_do_delconn(void *m)
   } else
 #endif /* LWIP_NETCONN_FULLDUPLEX */
   {
-    LWIP_ASSERT("blocking connect in progress",
-      (state != NETCONN_CONNECT) || IN_NONBLOCKING_CONNECT(msg->conn));
-    msg->err = ERR_OK;
+    if (!(state != NETCONN_CONNECT || IN_NONBLOCKING_CONNECT(msg->conn))) {
+      msg->err = ERR_INPROGRESS;
+      NETCONN_SET_SAFE_ERR(msg->conn, ERR_INPROGRESS);
+      LWIP_DEBUGF(API_MSG_DEBUG, ("netconn error:ERR_INPROGRESS\n"));
+      return;
+    }
     /* Drain and delete mboxes */
     netconn_drain(msg->conn);