summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYohozzy <[email protected]>2023-05-29 14:02:01 +0800
committerGitHub <[email protected]>2023-05-29 02:02:01 -0400
commit0cbb665a1c1c30ab9e3cb9b0f8821492bd6cff36 (patch)
tree5ba92276ad68516ef3e119d18972044ce520eb82
parent6d0f2267e83cef792407b9206507cfd6e3e8f032 (diff)
[components] [lwip]重新提交 : ping超时计算bug (#7545)
函数的输入超时参数的单位是ms, 系统接口无论1.x版本还是2.x, 最终都会将毫秒时间再去转一次tick, 用于rtthread邮件接收超时. 所以此处直接按原值进行转换,不需要加入对RT_TICK_PER_SECOND的转换
-rw-r--r--components/net/lwip/port/ethernetif.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/components/net/lwip/port/ethernetif.c b/components/net/lwip/port/ethernetif.c
index fa2ed36edd..85d8dba0cb 100644
--- a/components/net/lwip/port/ethernetif.c
+++ b/components/net/lwip/port/ethernetif.c
@@ -208,9 +208,9 @@ int lwip_netdev_ping(struct netdev *netif, const char *host, size_t data_len,
int elapsed_time;
rt_tick_t recv_start_tick;
#if LWIP_VERSION_MAJOR == 1U /* v1.x */
- int recv_timeout = timeout * 1000UL / RT_TICK_PER_SECOND;
+ int recv_timeout = timeout;
#else /* >= v2.x */
- struct timeval recv_timeout = { timeout / RT_TICK_PER_SECOND, timeout % RT_TICK_PER_SECOND };
+ struct timeval recv_timeout = { timeout / 1000UL, timeout % 1000UL * 1000 };
#endif
ip_addr_t target_addr;
struct addrinfo hint, *res = RT_NULL;