From 036e7cf64b441838d856dccd2e4e67925229e3b3 Mon Sep 17 00:00:00 2001 From: Tomer Cabouly Date: Sun, 4 Jan 2026 07:49:37 +0000 Subject: [PATCH] issue: 4817116 clear errno before CQ notification Clear errno before calling wait_for_notification_and_process_element() to avoid checking a stale value from a previous operation. While current code paths that return -1 do set errno, this defensive approach protects against future changes and follows standard C/Unix practice for errno checking. Signed-off-by: Tomer Cabouly --- src/vma/sock/sockinfo_tcp.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/vma/sock/sockinfo_tcp.cpp b/src/vma/sock/sockinfo_tcp.cpp index 90f170350..155ce9160 100644 --- a/src/vma/sock/sockinfo_tcp.cpp +++ b/src/vma/sock/sockinfo_tcp.cpp @@ -4162,6 +4162,7 @@ int sockinfo_tcp::rx_wait_helper(int &poll_count, bool is_blocking) if (p_cq_ch_info) { ring* p_ring = p_cq_ch_info->get_ring(); if (p_ring) { + errno = 0; const int cq_ret = p_ring->wait_for_notification_and_process_element(fd, &poll_sn); if (cq_ret < 0 && errno != EAGAIN) { si_tcp_logwarn("Error in ring->wait_for_notification_and_process_element() of %p (errno=%d %m)", p_ring, errno);