From 3019f8f12a2f8d31fee53e119b85c57efc3361e4 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 7 Nov 2025 20:11:13 -0700 Subject: [PATCH] Fix return value for nonblock accept and recvfd --- ipcd/src/uds/stream.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ipcd/src/uds/stream.rs b/ipcd/src/uds/stream.rs index 9d7959a408..405d5762b4 100644 --- a/ipcd/src/uds/stream.rs +++ b/ipcd/src/uds/stream.rs @@ -731,9 +731,9 @@ impl<'sock> UdsStreamScheme<'sock> { // Try to accept a waiting connection let Some(client_id) = socket.awaiting.pop_front() else { if flags & O_NONBLOCK == O_NONBLOCK { - return Ok(Some(OpenResult::WouldBlock)); + return Err(Error::new(EAGAIN)); } else { - return Err(Error::new(EWOULDBLOCK)); + return Ok(Some(OpenResult::WouldBlock)); } }; Ok(self.accept_connection(socket, client_id)?) @@ -893,9 +893,9 @@ impl<'sock> UdsStreamScheme<'sock> { return if connection.is_peer_shutdown { Ok(OpenResult::OtherSchemeMultiple { num_fds: 0 }) // EOF, no data to read } else if (socket.flags as usize) & O_NONBLOCK == O_NONBLOCK { - Ok(OpenResult::WouldBlock) + Err(Error::new(EAGAIN)) } else { - Err(Error::new(EWOULDBLOCK)) + Ok(OpenResult::WouldBlock) }; }