Avoid race condition upon gui start with autoconnect

Change-Id: I9f886dd858d50584403da5adf0c995e73fe67267
Reviewed-on: https://forge.frm2.tum.de/review/17277
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
This commit is contained in:
Enrico Faulhaber 2018-02-08 12:03:23 +01:00
parent 66503e8975
commit 99f763647f

View File

@ -23,6 +23,7 @@
import pprint import pprint
import json import json
from time import sleep
from PyQt4.QtGui import QWidget, QTextCursor, QFont, QFontMetrics, QLabel, QMessageBox from PyQt4.QtGui import QWidget, QTextCursor, QFont, QFontMetrics, QLabel, QMessageBox
from PyQt4.QtCore import pyqtSignature as qtsig, Qt from PyQt4.QtCore import pyqtSignature as qtsig, Qt
@ -176,6 +177,12 @@ class ReadableWidget(QWidget):
self._node = node self._node = node
self._module = module 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._status_type = self._node.getProperties(
self._module, 'status').get('datatype') self._module, 'status').get('datatype')