scripts: ensure monitor socket has SO_REUSEADDR set
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 20 Jul 2016 13:23:12 +0000 (14:23 +0100)
committerAmit Shah <amit.shah@redhat.com>
Fri, 22 Jul 2016 07:53:35 +0000 (13:23 +0530)
If tests use a TCP based monitor socket, the connection will
go into a TIMED_WAIT state when the test exits. This will
randomly prevent the test from being re-run without a certain
time period. Set the SO_REUSEADDR flag on the socket to ensure
we can immediately re-run the tests

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

index 2d0d926..62d3651 100644 (file)
@@ -43,6 +43,7 @@ class QEMUMonitorProtocol:
         self._debug = debug
         self.__sock = self.__get_sock()
         if server:
+            self.__sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
             self.__sock.bind(self.__address)
             self.__sock.listen(1)