Explorar o código

add LINGER to menuconfig

xueyunfei %!s(int64=5) %!d(string=hai) anos
pai
achega
df43a1affc
Modificáronse 2 ficheiros con 19 adicións e 0 borrados
  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
             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
         bool "Enable SO_REUSEADDR option"
         default y

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

@@ -562,6 +562,11 @@
  */
 #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.
  */