From 571df2c64a3c1af1fe011303ec08e391e887ecbc Mon Sep 17 00:00:00 2001 From: Felix Johnson Date: Wed, 12 Feb 2025 22:40:59 -0500 Subject: [PATCH] recv.2: Explain how recv functions can return 0 Clarify the RETURN VALUES section with improved structure, the condition of the return value 0, and the setting of errno. PR: 174581 Reviewed by: jhb, ziaee Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D48955 --- lib/libsys/recv.2 | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/libsys/recv.2 b/lib/libsys/recv.2 index 08df62af3d1..9dc1f3cc84c 100644 --- a/lib/libsys/recv.2 +++ b/lib/libsys/recv.2 @@ -316,12 +316,19 @@ On data reception the .Fa msg_len field is updated to the length of the received message. .Sh RETURN VALUES -These calls except -.Fn recvmmsg +On successful completion, +.Fn recv , +.Fn recvfrom , +and +.Fn recvmsg return the number of bytes received. .Fn recvmmsg returns the number of messages received. -A value of -1 is returned if an error occurred. +If no messages are available to be received and the peer has +performed an orderly shutdown, 0 is returned. +Otherwise, -1 is returned and +.Va errno +is set to indicate the error. .Sh ERRORS The calls fail if: .Bl -tag -width Er