Przeglądaj źródła

[components][lwip]: fix ping timeout handling and support LWIP_SO_SNDRCVTIMEO_NONSTANDARD

CYFS 10 godzin temu
rodzic
commit
25b6953501

+ 5 - 4
components/net/lwip/lwip-1.4.1/src/apps/ping/ping.c

@@ -135,11 +135,12 @@ int lwip_ping_recv(int s, int *ttl)
 /* using the lwIP custom ping */
 rt_err_t ping(char* target_name, rt_uint32_t times, rt_size_t size)
 {
-#if LWIP_VERSION_MAJOR >= 2U
-    struct timeval timeout = { PING_RCV_TIMEO / RT_TICK_PER_SECOND, PING_RCV_TIMEO % RT_TICK_PER_SECOND };
+
+#if LWIP_SO_SNDRCVTIMEO_NONSTANDARD
+    int timeout = (int)PING_RCV_TIMEO;
 #else
-    int timeout = PING_RCV_TIMEO * 1000UL / RT_TICK_PER_SECOND;
-#endif
+    struct timeval timeout = { PING_RCV_TIMEO / RT_TICK_PER_SECOND, PING_RCV_TIMEO % RT_TICK_PER_SECOND };
+#endif / * LWIP_SO_SNDRCVTIMEO_NONSTANDARD */
 
     int s, ttl, recv_len;
     ip_addr_t target_addr;

+ 5 - 4
components/net/lwip/lwip-2.0.3/src/apps/ping/ping.c

@@ -135,11 +135,12 @@ int lwip_ping_recv(int s, int *ttl)
 /* using the lwIP custom ping */
 rt_err_t ping(char* target_name, rt_uint32_t times, rt_size_t size)
 {
-#if LWIP_VERSION_MAJOR >= 2U
-    struct timeval timeout = { PING_RCV_TIMEO / RT_TICK_PER_SECOND, PING_RCV_TIMEO % RT_TICK_PER_SECOND };
+
+#if LWIP_SO_SNDRCVTIMEO_NONSTANDARD
+    int timeout = (int)PING_RCV_TIMEO;
 #else
-    int timeout = PING_RCV_TIMEO * 1000UL / RT_TICK_PER_SECOND;
-#endif
+    struct timeval timeout = { PING_RCV_TIMEO / RT_TICK_PER_SECOND, PING_RCV_TIMEO % RT_TICK_PER_SECOND };
+#endif / * LWIP_SO_SNDRCVTIMEO_NONSTANDARD */
 
     int s, ttl, recv_len;
     ip_addr_t target_addr;

+ 5 - 4
components/net/lwip/lwip-2.1.2/src/apps/ping/ping.c

@@ -135,11 +135,12 @@ int lwip_ping_recv(int s, int *ttl)
 /* using the lwIP custom ping */
 rt_err_t ping(char* target_name, rt_uint32_t times, rt_size_t size)
 {
-#if LWIP_VERSION_MAJOR >= 2U
-    struct timeval timeout = { PING_RCV_TIMEO / RT_TICK_PER_SECOND, PING_RCV_TIMEO % RT_TICK_PER_SECOND };
+
+#if LWIP_SO_SNDRCVTIMEO_NONSTANDARD
+    int timeout = (int)PING_RCV_TIMEO;
 #else
-    int timeout = PING_RCV_TIMEO * 1000UL / RT_TICK_PER_SECOND;
-#endif
+    struct timeval timeout = { PING_RCV_TIMEO / RT_TICK_PER_SECOND, PING_RCV_TIMEO % RT_TICK_PER_SECOND };
+#endif / * LWIP_SO_SNDRCVTIMEO_NONSTANDARD */
 
     int s, ttl, recv_len;
     ip_addr_t target_addr;