From b8c388a7adef4dc53d3bb135102da64bf8a08b76 Mon Sep 17 00:00:00 2001
From: wuchangsheng <wuchangsheng2@huawei.com>
Date: Thu, 6 Oct 2022 15:57:33 +0800
Subject: [PATCH] modify-EISCONN-condition

---
 src/api/api_msg.c      | 2 +-
 src/include/lwipsock.h | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/api/api_msg.c b/src/api/api_msg.c
index 7839526..2dded75 100644
--- a/src/api/api_msg.c
+++ b/src/api/api_msg.c
@@ -1417,7 +1417,7 @@ lwip_netconn_do_connect(void *m)
         /* Prevent connect while doing any other action. */
         if (msg->conn->state == NETCONN_CONNECT) {
           err = ERR_ALREADY;
-        } else if (msg->conn->state != NETCONN_NONE) {
+        } else if (msg->conn->pcb.tcp->state != ESTABLISHED) {
           err = ERR_ISCONN;
         } else {
           setup_tcp(msg->conn);
diff --git a/src/include/lwipsock.h b/src/include/lwipsock.h
index 16e0dd3..3c5c44b 100644
--- a/src/include/lwipsock.h
+++ b/src/include/lwipsock.h
@@ -98,6 +98,8 @@ struct lwip_sock {
   struct list_node recv_list __rte_cache_aligned;
   struct list_node event_list __rte_cache_aligned;
   struct list_node send_list __rte_cache_aligned;
+  uint32_t in_send __rte_cache_aligned; /* avoid sock too much send rpc msg*/
+  uint32_t send_flag __rte_cache_aligned; /* avoid sock too much send rpc msg*/
   uint32_t epoll_events; /* registered events, EPOLLONESHOT write frequently */
   char pad __rte_cache_aligned;
 
-- 
2.27.0

