scripts: set timeout when waiting for qemu monitor connection
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 20 Jul 2016 13:23:11 +0000 (14:23 +0100)
committerAmit Shah <amit.shah@redhat.com>
Fri, 22 Jul 2016 07:53:28 +0000 (13:23 +0530)
If QEMU fails to launch for some reason, the QEMUMonitorProtocol
class accept() method will wait forever in a socket accept call.
Set a timeout of 15 seconds so that we fail more gracefully
instead of hanging the test script forever

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-Id: <1469020993-29426-5-git-send-email-berrange@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
scripts/qmp/qmp.py

index 70e927e08d929cf45ba844c9587e824859fd075c..2d0d926b3140613ae10668ed3a4cff3fd6c28e98 100644 (file)
@@ -140,6 +140,7 @@ class QEMUMonitorProtocol:
         @raise QMPConnectError if the greeting is not received
         @raise QMPCapabilitiesError if fails to negotiate capabilities
         """
+        self.__sock.settimeout(15)
         self.__sock, _ = self.__sock.accept()
         self.__sockfile = self.__sock.makefile()
         return self.__negotiate_capabilities()