Esempio n. 1
0
 def close(self):
     logger.info("Closing down client")
     quiet_close(self.stream)
     quiet_shutdown(self.socket)
     quiet_close(self.socket)
     self.socket = None
     self.stream = None
Esempio n. 2
0
 def close(self, reset=False):
     logger.info("Closing down clientserver connection")
     if not self.socket:
         return
     if reset:
         set_linger(self.socket)
     quiet_close(self.stream)
     if not reset:
         quiet_shutdown(self.socket)
     quiet_close(self.socket)
     already_closed = self.socket is None
     self.socket = None
     self.stream = None
     if not self.initiated_from_client and self.python_server and not already_closed:
         server_connection_stopped.send(self.python_server, connection=self)
Esempio n. 3
0
 def close(self, reset=False):
     logger.info("Closing down clientserver connection")
     if not self.socket:
         return
     if reset:
         set_linger(self.socket)
     quiet_close(self.stream)
     if not reset:
         quiet_shutdown(self.socket)
     quiet_close(self.socket)
     already_closed = self.socket is None
     self.socket = None
     self.stream = None
     if not self.initiated_from_client and self.python_server and\
             not already_closed:
         server_connection_stopped.send(self.python_server, connection=self)
Esempio n. 4
0
        def clean_closed_connections():
            from py4j.java_gateway import quiet_close, quiet_shutdown

            callback_server = self._gateway._callback_server
            with callback_server.lock:
                try:
                    closed_connections = []
                    for connection in callback_server.connections:
                        if not connection.isAlive():
                            quiet_close(connection.input)
                            quiet_shutdown(connection.socket)
                            quiet_close(connection.socket)
                            closed_connections.append(connection)

                    for closed_connection in closed_connections:
                        callback_server.connections.remove(closed_connection)
                except Exception:
                    import traceback
                    traceback.print_exc()

            self._start_timer(clean_closed_connections)
Esempio n. 5
0
        def clean_closed_connections():
            from py4j.java_gateway import quiet_close, quiet_shutdown

            callback_server = self._gateway._callback_server
            if callback_server:
                with callback_server.lock:
                    try:
                        closed_connections = []
                        for connection in callback_server.connections:
                            if not connection.isAlive():
                                quiet_close(connection.input)
                                quiet_shutdown(connection.socket)
                                quiet_close(connection.socket)
                                closed_connections.append(connection)

                        for closed_connection in closed_connections:
                            callback_server.connections.remove(closed_connection)
                    except Exception:
                        import traceback
                        traceback.print_exc()

            self._start_timer(clean_closed_connections)