Author vstinner
Recipients koobs, miss-islington, ned.deily, pablogsal, vstinner
Date 2018-11-29.01:14:16
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1543454057.51.0.788709270274.issue34521@psf.upfronthosting.co.za>
In-reply-to
Content
> Is test_socket of Python 2.7 affected by the issue? If not, I suggest to remove 2.7 from this issue and close it.

Some "FD transfer" tests of test_multiprocessing still fail on AMD64 FreeBSD CURRENT Shared 2.7:

https://buildbot.python.org/all/#/builders/169/builds/36

Re-running test 'test_multiprocessing' in verbose mode
FAIL: test_fd_transfer (test.test_multiprocessing.WithProcessesTestConnection)
FAIL: test_large_fd_transfer (test.test_multiprocessing.WithProcessesTestConnection)

Modules/_multiprocessing/multiprocessing.c uses CMSG_SPACE() *and* CMSG_LEN(). Are they used properly? I don't understand the code, but I propose:

diff --git a/Modules/_multiprocessing/multiprocessing.c b/Modules/_multiprocessing/multiprocessing.c
index d192a074ba..eecace887e 100644
--- a/Modules/_multiprocessing/multiprocessing.c
+++ b/Modules/_multiprocessing/multiprocessing.c
@@ -167,7 +167,7 @@ multiprocessing_recvfd(PyObject *self, PyObject *args)
     cmsg = CMSG_FIRSTHDR(&msg);
     cmsg->cmsg_level = SOL_SOCKET;
     cmsg->cmsg_type = SCM_RIGHTS;
-    cmsg->cmsg_len = CMSG_LEN(sizeof(int));
+    cmsg->cmsg_len = CMSG_SPACE(sizeof(int));
     msg.msg_controllen = cmsg->cmsg_len;
 
     Py_BEGIN_ALLOW_THREADS
History
Date User Action Args
2018-11-29 01:14:18vstinnersetrecipients: + vstinner, ned.deily, koobs, pablogsal, miss-islington
2018-11-29 01:14:17vstinnersetmessageid: <1543454057.51.0.788709270274.issue34521@psf.upfronthosting.co.za>
2018-11-29 01:14:17vstinnerlinkissue34521 messages
2018-11-29 01:14:16vstinnercreate