Charles-François Natali <neolo...@free.fr> added the comment: > I don't think that it's a problem to remove private functions. >
Alright. > Is it mandatory to send a non-empty message (first argument for sendmsg, b'x' > in your patch)? The original C function sends a random byte :-) > Some implementation can return EINVAL if no data is sent (i.e. you can't send only ancillary data). > multiprocessing_recvfd() contains cmsg_level=SOL_SOCKET and > cmsg_type=SCM_RIGHTS, your Python function doesn't check cmsg_level or > cmsg_type. Should it be checked? > Yes, it should be checked, I'll update the patch. > I don't know sendmsg/recvmsg API. Do they guarantee to send/receive all data? > For data no, but ancillary data, yes. The only thing that could go wrong would be a buffer too short to hold the ancillary data, but: - the buffer size is computed with CMSG_DATA(), so it should be enough - if the ancillay data is truncated, struct.unpack will raise an exception ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue12981> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com