Browse Source

Fix redefinition of select() on platforms where ESP_PLATFORM is discarded

Ref: https://github.com/espressif/esp-idf/issues/1987
Roland Dobai 7 years ago
parent
commit
e86738205d

+ 4 - 5
components/lwip/include/lwip/lwip/sockets.h

@@ -38,7 +38,6 @@
 
 #if LWIP_SOCKET /* don't build if not configured for use in lwipopts.h */
 
-#include <sys/select.h>
 #include <stddef.h> /* for size_t */
 #include <string.h> /* for FD_ZERO */
 
@@ -590,10 +589,10 @@ static inline int sendto(int s,const void *dataptr,size_t size,int flags,const s
 { return lwip_sendto_r(s,dataptr,size,flags,to,tolen); }
 static inline int socket(int domain,int type,int protocol)
 { return lwip_socket(domain,type,protocol); }
-#ifndef ESP_PLATFORM
+#ifndef ESP_HAS_SELECT
 static inline int select(int maxfdp1,fd_set *readset,fd_set *writeset,fd_set *exceptset,struct timeval *timeout)
 { return lwip_select(maxfdp1,readset,writeset,exceptset,timeout); }
-#endif /* ESP_PLATFORM */
+#endif /* ESP_HAS_SELECT */
 static inline int ioctlsocket(int s,long cmd,void *argp)
 { return lwip_ioctl_r(s,cmd,argp); }
 
@@ -646,10 +645,10 @@ static inline int sendto(int s,const void *dataptr,size_t size,int flags,const s
 { return lwip_sendto(s,dataptr,size,flags,to,tolen); }
 static inline int socket(int domain,int type,int protocol)
 { return lwip_socket(domain,type,protocol); }
-#ifndef ESP_PLATFORM
+#ifndef ESP_HAS_SELECT
 static inline int select(int maxfdp1,fd_set t*readset,fd_set *writeset,fd_set *exceptset,struct timeval *timeout)
 { return lwip_select(maxfdp1,readset,writeset,exceptset,timeout); }
-#endif /* ESP_PLATFORM */
+#endif /* ESP_HAS_SELECT */
 static inline int ioctlsocket(int s,long cmd,void *argp)
 { return lwip_ioctl(s,cmd,argp); }
 

+ 2 - 0
components/lwip/include/lwip/port/lwipopts.h

@@ -39,6 +39,7 @@
 #include <sys/fcntl.h>
 #include <sys/ioctl.h>
 #include <sys/types.h>
+#include <sys/select.h>
 #include "esp_task.h"
 #include "esp_system.h"
 #include "sdkconfig.h"
@@ -730,6 +731,7 @@
 #define ESP_DHCP_TIMER                  1
 #define ESP_LWIP_LOGI(...)              ESP_LOGI("lwip", __VA_ARGS__)
 #define ESP_PING                        1
+#define ESP_HAS_SELECT                  1
 
 #if CONFIG_LWIP_IRAM_OPTIMIZATION
 #define ESP_IRAM_ATTR                   IRAM_ATTR

+ 0 - 0
components/newlib/include/sys/select.h → components/newlib/platform_include/sys/select.h