[Python-Dev] PEP 446: issue with sockets (original) (raw)

Victor Stinner victor.stinner at gmail.com
Wed Aug 21 01:57:32 CEST 2013


2013/8/21 Victor Stinner <victor.stinner at gmail.com>:

Should I add a portable helper to the socket module (socket.get/setinheritable)?

Add the two following functions to the socket module:

def get_inheritable(sock): if os.name == 'nt': return os.get_handle_inheritable(sock.fileno()) else: return os.get_inheritable(sock.fileno())

def set_inheritable(sock, inheritable): if os.name == 'nt': os.set_handle_inheritable(sock.fileno(), inheritable) else: os.set_inheritable(sock.fileno(), inheritable)

Usage: socket.get_inheritable(sock) and socket.set_inheritable(sock, True)

Or add 2 methods to the socket class?

Add the two following methods to the socket class:

def get_inheritable(self):
    if os.name == 'nt':
        return os.get_handle_inheritable(self.fileno())
    else:
        return os.get_inheritable(self.fileno())

def set_inheritable(self, inheritable):
    if os.name == 'nt':
        os.set_handle_inheritable(self.fileno(), inheritable)
    else:
        os.set_inheritable(self.fileno(), inheritable)

Usage: s.get_inheritable() and sock.set_inheritable(True)

Victor



More information about the Python-Dev mailing list