the maximum amount of sockets here. The valid value is from 1
to 16.
+config USE_ONLY_LWIP_SELECT
+ bool "Support LWIP socket select() only"
+ default n
+ help
+ The virtual filesystem layer of select() redirects sockets to
+ lwip_select() and non-socket file descriptors to their respective driver
+ implementations. If this option is enabled then all calls of select()
+ will be redirected to lwip_select(), therefore, select can be used
+ for sockets only.
+
config LWIP_SO_REUSE
bool "Enable SO_REUSEADDR option"
default y
#include <sys/select.h>
#include "esp_vfs.h"
+#include "sdkconfig.h"
+
+#ifdef CONFIG_USE_ONLY_LWIP_SELECT
+#include "lwip/sockets.h"
+#endif
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout)
{
+#ifdef CONFIG_USE_ONLY_LWIP_SELECT
+ return lwip_select(nfds, readfds, writefds, errorfds, timeout);
+#else
return esp_vfs_select(nfds, readfds, writefds, errorfds, timeout);
+#endif
}
are the :example:`peripherals/uart_select` and the :example:`system/select`
examples.
+If :cpp:func:`select` is used for socket file descriptors only then one can
+enable the :ref:`CONFIG_USE_ONLY_LWIP_SELECT` option which can reduce the code
+size and improve performance.
+
Paths
-----