]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
send.2, recv.2: Add msg_iovlen POSIX note
authorAlyssa Ross <hi@alyssa.is>
Fri, 3 Jul 2020 01:25:40 +0000 (01:25 +0000)
committerMichael Kerrisk <mtk.manpages@gmail.com>
Fri, 3 Jul 2020 11:42:22 +0000 (13:42 +0200)
msg_iovlen is incorrectly typed (according to POSIX) in addition
to msg_controllen, but unlike msg_controllen, this wasn't
mentioned for msg_iovlen.

msg_iovlen being incorrectly typed hasn't been reported as a GCC
bug, but there's no point since it is caused by the same
underlying issue.

Sources: POSIX.1-2017 (<sys/socket.h>), Linux
(include/linux/socket.h)

Signed-off-by: Alyssa Ross <hi@alyssa.is>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
man2/recv.2
man2/send.2

index 78ae86e52df9c49d31ef860f841f3e8272c4da9e..7c4b70c7a188f39d92d1ef00dcf132abe6194d4a 100644 (file)
@@ -533,13 +533,18 @@ field of the
 .I msghdr
 structure should be typed as
 .IR socklen_t ,
-but glibc currently types it as
+and the
+.I msg_iovlen
+field should be typed as
+.IR int ,
+but glibc currently types both as
 .IR size_t .
-.\" glibc bug raised 12 Mar 2006
+.\" glibc bug for msg_controllen raised 12 Mar 2006
 .\" http://sourceware.org/bugzilla/show_bug.cgi?id=2448
 .\" The problem is an underlying kernel issue: the size of the
-.\" __kernel_size_t type used to type this field varies
-.\" across architectures, but socklen_t is always 32 bits.
+.\" __kernel_size_t type used to type these fields varies
+.\" across architectures, but socklen_t is always 32 bits,
+.\" as (at least with GCC) is int.
 .PP
 See
 .BR recvmmsg (2)
index 0dd35d783e64024f5e87232c651166961b124c44..de224b30764dcd0a11409fcb10e8a4a3145e8b82 100644 (file)
@@ -441,13 +441,18 @@ field of the
 .I msghdr
 structure should be typed as
 .IR socklen_t ,
-but glibc currently types it as
+and the
+.I msg_iovlen
+field should be typed as
+.IR int ,
+but glibc currently types both as
 .IR size_t .
-.\" glibc bug raised 12 Mar 2006
+.\" glibc bug for msg_controllen raised 12 Mar 2006
 .\" http://sourceware.org/bugzilla/show_bug.cgi?id=2448
 .\" The problem is an underlying kernel issue: the size of the
-.\" __kernel_size_t type used to type this field varies
-.\" across architectures, but socklen_t is always 32 bits.
+.\" __kernel_size_t type used to type these fields varies
+.\" across architectures, but socklen_t is always 32 bits,
+.\" as (at least with GCC) is int.
 .PP
 See
 .BR sendmmsg (2)