From 075171e3b90115647f3e4af2664488bae64ee4ca Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 31 Jul 2025 15:56:24 -0400 Subject: kernel: socket: Block is recv queue is empty Signed-off-by: Ian Moffett --- sys/kern/kern_socket.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'sys/kern/kern_socket.c') diff --git a/sys/kern/kern_socket.c b/sys/kern/kern_socket.c index 065245b..0673353 100644 --- a/sys/kern/kern_socket.c +++ b/sys/kern/kern_socket.c @@ -571,7 +571,11 @@ sys_recv(struct syscall_args *scargs) return -ENOBUFS; } - error = recv(sockfd, buf, len, flags); + do { + error = recv(sockfd, buf, len, flags); + sched_yield(); + } while (error == -EAGAIN); + if (error < 0) { pr_error("sys_recv: recv() fail (fd=%d)\n", sockfd); return error; -- cgit v1.2.3