From f759106a146bb415251f8ed0ce6375250f643afb Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 13 Oct 2014 07:34:15 +0200 Subject: [PATCH] Error handling when writing to running instance. --- qutebrowser/utils/ipc.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qutebrowser/utils/ipc.py b/qutebrowser/utils/ipc.py index a82da61d5..d4a7edd2e 100644 --- a/qutebrowser/utils/ipc.py +++ b/qutebrowser/utils/ipc.py @@ -29,6 +29,7 @@ from qutebrowser.utils import log, objreg SOCKETNAME = 'qutebrowser-{}'.format(getpass.getuser()) CONNECT_TIMEOUT = 100 +WRITE_TIMEOUT = 1000 server = None @@ -56,7 +57,10 @@ def send_to_running_instance(cmdlist): log.init.info("Opening in existing instance") line = json.dumps(cmdlist) + '\n' socket.writeData(line.encode('utf-8')) - socket.waitForBytesWritten() + socket.waitForBytesWritten(WRITE_TIMEOUT) + if socket.error(): + raise IPCError("Error while writing to running instance: " + "{}".format(socket.errorString())) else: if socket.error() != QLocalSocket.ConnectionRefusedError: raise IPCError("Error while connecting to running instance: "