Bladeren bron

Merge branch 'bugfix/add_so_linger_to_menuconfig_for_4.0' into 'release/v4.0'

lw-ip:add so linger to menuconfig for 4.0(backport4.0)

See merge request espressif/esp-idf!8759
Jiang Jiang Jian 5 jaren geleden
bovenliggende
commit
193e9c0d5a
2 gewijzigde bestanden met toevoegingen van 19 en 0 verwijderingen
  1. 14 0
      components/lwip/Kconfig
  2. 5 0
      components/lwip/port/esp32/include/lwipopts.h

+ 14 - 0
components/lwip/Kconfig

@@ -63,6 +63,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

@@ -538,6 +538,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.
  */