From 8688bd0593d656d75acc56ab2418a6fc8eb8e6bf Mon Sep 17 00:00:00 2001 From: xueyunfei Date: Thu, 14 May 2020 15:18:39 +0800 Subject: [PATCH] add LINGER to menuconfig --- components/lwip/Kconfig | 11 +++++++++++ components/lwip/port/esp32/include/lwipopts.h | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/components/lwip/Kconfig b/components/lwip/Kconfig index e2f289b64..d6f2aa13f 100644 --- a/components/lwip/Kconfig +++ b/components/lwip/Kconfig @@ -63,6 +63,17 @@ 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. + When close socket, the TCP connection will be immediately disconnected. + The unsent data in the send buffer will be discarded and an RST message + will be sent to the other party. It is worth noting that because of this way, + the abnormal handshake in 4 ends the TCP connection, the TCP connection will + not enter the 'TIME_WAIT' state. + config LWIP_SO_REUSE bool "Enable SO_REUSEADDR option" default y diff --git a/components/lwip/port/esp32/include/lwipopts.h b/components/lwip/port/esp32/include/lwipopts.h index 3e10020e0..30f19ad67 100644 --- a/components/lwip/port/esp32/include/lwipopts.h +++ b/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. */