Hi Alejandro, I think the flag MSG_ERRQUEUE, that is described on the man page recv.2 is only applicable to recvmsg, and not recv or recvfrom. Maybe it would be good to mention it, just like it is specified for MSG_CMSG_CLOEXEC. The following patch does that: Signed-off-by: Rob Linden <rlinden@xxxxxxxxxx> >From c3ec57d21d2b754ee05913cfa035f5e31aaaae95 Mon Sep 17 00:00:00 2001 From: rokkbert <rokkbert@xxxxxxxxx> Date: Tue, 13 Jun 2023 17:45:32 +0200 Subject: [PATCH] recv.2: added note that flag MSG_ERRQUEUE is only applicable to recvmsg. Only recvmsg allows the caller to even pass the required struct msghdr to receive the error data. --- man2/recv.2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man2/recv.2 b/man2/recv.2 index 62e43c9aa..3697d0c84 100644 --- a/man2/recv.2 +++ b/man2/recv.2 @@ -145,7 +145,7 @@ which will affect all threads in the calling process and as well as other processes that hold file descriptors referring to the same open file description. .TP -.BR MSG_ERRQUEUE " (since Linux 2.2)" +.BR MSG_ERRQUEUE " (" recvmsg "() only; since Linux 2.2)" This flag specifies that queued errors should be received from the socket error queue. The error is passed in -- 2.39.2 All the best, rob