From 99f763647fb6ddedd738eaf1bf8f725a74b1ae62 Mon Sep 17 00:00:00 2001 From: Enrico Faulhaber Date: Thu, 8 Feb 2018 12:03:23 +0100 Subject: [PATCH] Avoid race condition upon gui start with autoconnect Change-Id: I9f886dd858d50584403da5adf0c995e73fe67267 Reviewed-on: https://forge.frm2.tum.de/review/17277 Reviewed-by: Enrico Faulhaber Tested-by: Enrico Faulhaber --- secop/gui/nodectrl.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/secop/gui/nodectrl.py b/secop/gui/nodectrl.py index ed9f07a..eeb008f 100644 --- a/secop/gui/nodectrl.py +++ b/secop/gui/nodectrl.py @@ -23,6 +23,7 @@ import pprint import json +from time import sleep from PyQt4.QtGui import QWidget, QTextCursor, QFont, QFontMetrics, QLabel, QMessageBox from PyQt4.QtCore import pyqtSignature as qtsig, Qt @@ -176,6 +177,12 @@ class ReadableWidget(QWidget): self._node = node self._module = module + # XXX: avoid a nasty race condition, mainly biting on M$ + for i in range(30): + if 'status' in self._node.describing_data['modules'][module]['parameters']: + break + sleep(0.01*i) + self._status_type = self._node.getProperties( self._module, 'status').get('datatype')