A NOTE has been added to this issue. 
====================================================================== 
https://www.austingroupbugs.net/view.php?id=1929 
====================================================================== 
Reported By:                gleb.smirnoff
Assigned To:                ajosey
====================================================================== 
Project:                    1003.1(2024)/Issue8
Issue ID:                   1929
Category:                   System Interfaces
Type:                       Error
Severity:                   Editorial
Priority:                   normal
Status:                     Under Review
Name:                       Gleb Smirnoff 
Organization:                
User Reference:              
Section:                    recv(), recvfrom(), recvmsg() 
Page Number:                1 
Line Number:                paragraph on length of the message 
Interp Status:              --- 
Final Accepted Text:         
====================================================================== 
Date Submitted:             2025-06-11 20:04 UTC
Last Modified:              2025-06-30 14:25 UTC
====================================================================== 
Summary:                    features of SOCK_SEQPACKET in documentation of
certain System Interfaces contradict its definition in the Base Definitions
====================================================================== 

---------------------------------------------------------------------- 
 (0007217) geoffclare (manager) - 2025-06-30 14:25
 https://www.austingroupbugs.net/view.php?id=1929#c7217 
---------------------------------------------------------------------- 
Suggested changes (reusing wording from XSH 2.10.6) ...

On page 1875 line 61902 section recv(), and
page 1878 line 61997 section recvfrom(), and
page 1881 line 62113 section recvmsg(), change:<blockquote>For message-based
sockets, such as [...], the entire message shall be read in a single
operation.</blockquote>to:<blockquote>For message-based sockets, such as
SOCK_DGRAM [RS]and SOCK_RAW[/RS], the entire message shall be read in a single
operation.</blockquote>
On page 1875 line 61905 section recv(), and
page 1878 line 62000 section recvfrom(), change:<blockquote>For stream-based
sockets, such as SOCK_STREAM, message boundaries shall be ignored. In this case,
data shall be returned to the user as soon as it becomes available, and no data
shall be discarded.</blockquote>to:<blockquote>For stream-based sockets, such as
SOCK_STREAM, record boundaries shall be ignored; data sent on a stream-based
socket using output operations of one size can be received using input
operations of smaller or larger sizes; data shall be returned to the user as
soon as it becomes available and no data shall be discarded. For stream-based
sockets with maintained record boundaries, such as SOCK_SEQPACKET, a record can
be sent using one or more output operations and received using one or more input
operations, but a single operation shall never transfer parts of more than one
record; in order to differentiate the end of a record from a short read, it is
necessary to use the <i>recvmsg</i>() function instead of <i>recv</i>() or
<i>recvfrom</i>().</blockquote>
On page 1881 line 62117 section recvmsg(), change:<blockquote>For stream-based
sockets, such as SOCK_STREAM, message boundaries shall be ignored. In this case,
data shall be returned to the user as soon as it becomes available, and no data
shall be discarded.</blockquote>to:<blockquote>For stream-based sockets, such as
SOCK_STREAM, record boundaries shall be ignored; data sent on a stream-based
socket using output operations of one size can be received using input
operations of smaller or larger sizes; data shall be returned to the user as
soon as it becomes available and no data shall be discarded. For stream-based
sockets with maintained record boundaries, such as SOCK_SEQPACKET, a record can
be sent using one or more output operations and received using one or more input
operations, but a single operation shall never transfer parts of more than one
record; if the received data ends on a record boundary, MSG_EOR shall be set in
the <i>msg_flags</i> member of the <b>msghdr</b> structure.</blockquote> 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2025-06-11 20:04 gleb.smirnoff  New Issue                                    
2025-06-11 20:04 gleb.smirnoff  Status                   New => Under Review 
2025-06-11 20:04 gleb.smirnoff  Assigned To               => ajosey          
2025-06-12 08:53 geoffclare     Project                  1003.1(2004)/Issue 6 =>
1003.1(2024)/Issue8
2025-06-30 14:25 geoffclare     Note Added: 0007217                          
======================================================================


  • [1003.1(20... Austin Group Issue Tracker via austin-group-l at The Open Group
    • [1003... Austin Group Issue Tracker via austin-group-l at The Open Group

Reply via email to