예제 #1
0
def server_socket(port):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    # set close-on-exec flag (subprocesses should not inherit it)
    set_close_on_exec(s, True)
    s.bind(('', port))
    s.listen(1)
    return ServerSocketWrapper(s)
예제 #2
0
def server_socket(port):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    # set close-on-exec flag (subprocesses should not inherit it)
    set_close_on_exec(s, True)
    s.bind(('', port))
    s.listen(1)
    return ServerSocketWrapper(s)
예제 #3
0
 def start_popen(self, cmd_args, env):
     # For efficiency, we let the popen object read directly from the socket.
     # Thus the ev_loop should not longer detect input data on this socket,
     # it should only detect errors, that is why we call update_listener() below.
     set_close_on_exec(self.client_sock_file, False)
     self.popen = Popen(cmd_args,
                        env=env,
                        bufsize=1024 * 1024,
                        stdin=self.client_sock_file,
                        stdout=self.client_sock_file,
                        stderr=STDOUT)
     set_close_on_exec(self.client_sock_file, True)
     self.ev_loop.update_listener(self, 0)
     self.popen_set_finalize_callback()
예제 #4
0
 def accept(self):
     s_conn, address = self.s.accept()
     # set close-on-exec flag (subprocesses should not inherit it)
     set_close_on_exec(s_conn, True)
     return s_conn, address
예제 #5
0
def client_sock_file(host, port):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # set close-on-exec flag (subprocesses should not inherit it)
    set_close_on_exec(s, True)
    s.connect((host, port))
    return SmartSocketFile(s)
예제 #6
0
 def accept(self):
     s_conn, address = self.s.accept()
     # set close-on-exec flag (subprocesses should not inherit it)
     set_close_on_exec(s_conn, True)
     return s_conn, address
예제 #7
0
def client_sock_file(host, port):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # set close-on-exec flag (subprocesses should not inherit it)
    set_close_on_exec(s, True)
    s.connect((host, port))
    return SmartSocketFile(s)