net: replace net_sem*wait with conn_dev_sem*wait to simplify code logic

optimize the current code format according to the previous net_xxx_wait
implementation to reduce multiple calls of similar code

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
This commit is contained in:
zhanghongyu
2025-11-24 20:17:18 +08:00
committed by Alan C. Assis
parent aee7ea0d7d
commit 8f41613374
42 changed files with 196 additions and 205 deletions
+4 -5
View File
@@ -374,14 +374,13 @@ ssize_t icmp_recvmsg(FAR struct socket *psock, FAR struct msghdr *msg,
state.recv_cb->event = recvfrom_eventhandler;
/* Wait for either the response to be received or for timeout to
* occur. net_sem_timedwait will also terminate if a signal is
* occur. conn_dev_sem_timedwait will also terminate if a signal is
* received.
*/
conn_dev_unlock(&conn->sconn, dev);
ret = net_sem_timedwait(&state.recv_sem,
_SO_TIMEOUT(conn->sconn.s_rcvtimeo));
conn_dev_lock(&conn->sconn, dev);
ret = conn_dev_sem_timedwait(&state.recv_sem, true,
_SO_TIMEOUT(conn->sconn.s_rcvtimeo),
&conn->sconn, dev);
if (ret < 0)
{
state.recv_result = ret;
+4 -5
View File
@@ -406,13 +406,12 @@ ssize_t icmp_sendmsg(FAR struct socket *psock, FAR struct msghdr *msg,
netdev_txnotify_dev(dev, ICMP_POLL);
/* Wait for either the send to complete or for timeout to occur.
* net_sem_timedwait will also terminate if a signal is received.
* conn_dev_sem_timedwait will also terminate if a signal is received.
*/
conn_dev_unlock(&conn->sconn, dev);
ret = net_sem_timedwait(&state.snd_sem,
_SO_TIMEOUT(conn->sconn.s_sndtimeo));
conn_dev_lock(&conn->sconn, dev);
ret = conn_dev_sem_timedwait(&state.snd_sem, true,
_SO_TIMEOUT(conn->sconn.s_sndtimeo),
&conn->sconn, dev);
if (ret < 0)
{
if (ret == -ETIMEDOUT)