[Python-Dev] [Python-checkins] cpython: Issue #12981: rewrite multiprocessing_{sendfd, recvfd} in Python.

Charles-François Natali neologix at free.fr
Mon Sep 26 08:48:06 CEST 2011


> On Sun, Sep 25, 2011 at 4:04 AM, charles-francois.natali
> <python-checkins at python.org> wrote:
>> +if not(sys.platform == 'win32' or (hasattr(socket, 'CMSG_LEN') and
>> +                                   hasattr(socket, 'SCM_RIGHTS'))):
>>     raise ImportError('pickling of connections not supported')
>
> I'm pretty sure the functionality checks for CMSG_LEN and SCM_RIGHTS
> mean the platform check for Windows is now redundant.
>

I'm not sure I understand what you mean.
FD passing is supported on Unix with sendmsg/SCM_RIGHTS, and on
Windows using whatever Windows uses for that purpose (see
http://hg.python.org/cpython/file/2b47f0146639/Lib/multiprocessing/reduction.py#l63).
If we remove the check for Windows, an ImportError will be raised
systematically, unless you suggest that Windows does support
sendmsg/SCM_RIGHTS (I somehow doubt Windows supports Unix domain
sockets, but I don't know Windows at all).

cf


More information about the Python-Dev mailing list