send.2, recv.2: Add msg_iovlen POSIX note

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>
This commit is contained in:
Alyssa Ross 2020-07-03 01:25:40 +00:00 committed by Michael Kerrisk
parent 16170fbc5c
commit 71d8892776
2 changed files with 18 additions and 8 deletions

View 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)

View 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)