kristjan at ccpgames
Mar 13, 2012, 5:27 PM
sharing sockets among processes on windows
I´m interested in contributing a patch to duplicate sockets between processes on windows.
Tha api to do this is WSADuplicateSocket/WSASocket(), as already used by dup() in the _socketmodule.c
Here´s what I have:
1) Sockets have a method, duplicate(target_pid), that return a bytes object containing the socket info for the target process
2) When socket(x, y, z, data) is called with this bytes object as the fourth argument, it is recreated from that.
What are your thoughts on this? Also, should I try to reuse the socket.dup() function somehow, perhaps by giving the target pid?
Secondly, there is multiprocessing.reduction which is doing similar things for unix. Does anyone familiar with it know how it goes about doing this? Would it be simple to change it to use this mechanism on windows?