[Python-Dev] PEP 446: issue with sockets

Victor Stinner victor.stinner at gmail.com
Wed Aug 21 02:19:50 CEST 2013


2013/8/21 Guido van Rossum <guido at python.org>:
> Also, are you sure the things returned by socket.fleno() are really Windows
> handles? I thought they were some other artificial namespace used just by
> sockets.

(You know what? I know understand and love the UNIX concept
"everything is file"!)

I don't know if a socket handle is similar to file handles or if they
are specials. At least, GetHandleInformation() and
SetHandleInformation() functions, used by
os.get/set_handle_inheritable(), accept socket handles.

Outside the socket module, the subprocess and multiprocessing modules
use also Windows handles. The subprocess has for example a private
_make_inheritable() method which could be replaced with
os.set_handle_inheritable(). I'm not sure because _make_inheritable()
duplicates the input handle, whereas os.set_handle_inheritable()
modify directly the handle. I don't know why the handle needs to be
duplicated.

Victor


More information about the Python-Dev mailing list