Selaa lähdekoodia

add LINGER to menuconfig

xueyunfei 5 vuotta sitten
vanhempi
sitoutus
df43a1affc
2 muutettua tiedostoa jossa 19 lisäystä ja 0 poistoa
  1. 14 0
      components/lwip/Kconfig
  2. 5 0
      components/lwip/port/esp32/include/lwipopts.h

+ 14 - 0
components/lwip/Kconfig

@@ -75,6 +75,20 @@ menu "LWIP"
             will be redirected to lwip_select(), therefore, select can be used
             will be redirected to lwip_select(), therefore, select can be used
             for sockets only.
             for sockets only.
 
 
+    config LWIP_SO_LINGER
+        bool "Enable SO_LINGER processing"
+        default n
+        help
+            Enabling this option allows SO_LINGER processing.
+            l_onoff = 1,l_linger can set the timeout.
+
+            If l_linger=0, When a connection is closed, TCP will terminate the connection.
+            This means that TCP will discard any data packets stored in the socket send buffer
+            and send an RST to the peer.
+
+            If l_linger!=0,Then closesocket() calls to block the process until
+            the remaining data packets has been sent or timed out.
+
     config LWIP_SO_REUSE
     config LWIP_SO_REUSE
         bool "Enable SO_REUSEADDR option"
         bool "Enable SO_REUSEADDR option"
         default y
         default y

+ 5 - 0
components/lwip/port/esp32/include/lwipopts.h

@@ -562,6 +562,11 @@
  */
  */
 #define LWIP_TCP_KEEPALIVE              1
 #define LWIP_TCP_KEEPALIVE              1
 
 
+/**
+ * LWIP_SO_LINGER==1: Enable SO_LINGER processing.
+ */
+#define LWIP_SO_LINGER                  CONFIG_LWIP_SO_LINGER
+
 /**
 /**
  * LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing.
  * LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing.
  */
  */