IPC: Handle socket timeout correctly.

Hopefully fixes #975.
This commit is contained in:
Florian Bruhin 2015-10-02 08:08:03 +02:00
parent 264f9c4919
commit ea663f9975

View File

@ -342,7 +342,13 @@ class IPCServer(QObject):
def on_timeout(self): def on_timeout(self):
"""Cancel the current connection if it was idle for too long.""" """Cancel the current connection if it was idle for too long."""
log.ipc.error("IPC connection timed out.") log.ipc.error("IPC connection timed out.")
self._socket.close() self._socket.disconnectFromServer()
if self._socket is not None: # pragma: no branch
# on_socket_disconnected sets it to None
self._socket.waitForDisconnected(100)
if self._socket is not None: # pragma: no branch
# on_socket_disconnected sets it to None
self._socket.abort()
@pyqtSlot() @pyqtSlot()
def update_atime(self): def update_atime(self):