mjuric / instastart

Speed up startup of Python command-line codes
1 stars 0 forks source link

socket.send_fds not defined in Python<3.9 #2

Open stevenstetzler opened 2 years ago

stevenstetzler commented 2 years ago

Here is my solution, from https://docs.python.org/3/library/socket.html#socket.socket.sendmsg:

if hasattr(socket, 'send_fds'):
    pass
else:
    import array
    def send_fds(sock, msg, fds):
        return sock.sendmsg(msg, [(socket.SOL_SOCKET, socket.SCM_RIGHTS, array.array("i", fds))])
    socket.send_fds = send_fds

sendmsg([msg]) -> sendmsg(msg) since we pass send_fds a list.