]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-34521: Fix tests in test_multiprocessing_spawn to use correctly CMSG_SPACE (GH...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 28 Sep 2018 13:07:56 +0000 (06:07 -0700)
committerVictor Stinner <vstinner@redhat.com>
Fri, 28 Sep 2018 13:07:56 +0000 (06:07 -0700)
commit007fda436f707ac95c2fa8f8886efd9e09d5b630
treefd0c4fc6303d2381041b2d3170817752c4fe5cbf
parent7e35081bc828291da5793db49ab45dee4fda5043
bpo-34521: Fix tests in test_multiprocessing_spawn to use correctly CMSG_SPACE (GH-9613) (GH-9619)

After some failures in AMD64 FreeBSD CURRENT Debug 3.x buildbots
regarding tests in test_multiprocessing_spawn and after examining
similar failures in test_socket, some errors in the calculation of
ancillary data buffers were found in multiprocessing.reduction.

CMSG_LEN() can often be used as the buffer size for recvmsg() to
receive a single item of ancillary data, but RFC 3542 requires portable
applications to use CMSG_SPACE() and thus include space for padding,
even when the item will be the last in the buffer.

The failures we experience are due to the usage of CMSG_LEN() instead of
CMSG_SPACE().
(cherry picked from commit 077061a7b24917aaf31057885c69919c5a553c88)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
Lib/multiprocessing/reduction.py