Projects
openEuler:C
gazelle
_service:tar_scm:0141-recv-support-MSG_DONTWAIT...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:0141-recv-support-MSG_DONTWAIT.patch of Package gazelle
From 34c272bf7f0484a1371033c187719adc72f061d5 Mon Sep 17 00:00:00 2001 From: li_yunqing <liyunqing@kylinos.cn> Date: Tue, 27 Feb 2024 16:58:59 +0800 Subject: [PATCH] recv support MSG_DONTWAIT --- src/lstack/core/lstack_lwip.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lstack/core/lstack_lwip.c b/src/lstack/core/lstack_lwip.c index 0b339fe..7715cf3 100644 --- a/src/lstack/core/lstack_lwip.c +++ b/src/lstack/core/lstack_lwip.c @@ -993,6 +993,7 @@ ssize_t do_lwip_read_from_stack(int32_t fd, void *buf, size_t len, int32_t flags { ssize_t recvd = 0; struct lwip_sock *sock = get_socket_by_fd(fd); + bool noblock = (flags & MSG_DONTWAIT) || netconn_is_nonblocking(sock->conn); if (recv_break_for_err(sock)) { return -1; @@ -1005,9 +1006,9 @@ ssize_t do_lwip_read_from_stack(int32_t fd, void *buf, size_t len, int32_t flags } if (NETCONN_IS_UDP(sock)) { - recvd = recv_ring_udp_read(sock, buf, len, netconn_is_nonblocking(sock->conn), addr, addrlen); + recvd = recv_ring_udp_read(sock, buf, len, noblock, addr, addrlen); } else { - recvd = recv_ring_tcp_read(sock, buf, len, netconn_is_nonblocking(sock->conn)); + recvd = recv_ring_tcp_read(sock, buf, len, noblock); } /* rte_ring_count reduce lock */ -- 2.27.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.