From 4b8ae9926ef15469a365c91d1d3f91c79d782bec Mon Sep 17 00:00:00 2001 From: NaruX Date: Wed, 4 Sep 2019 13:38:22 +0200 Subject: [PATCH] =?UTF-8?q?Nach=20reconnect=20sofort=20syssync=20erm=C3=B6?= =?UTF-8?q?glichen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- revpimodio2/netio.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/revpimodio2/netio.py b/revpimodio2/netio.py index ea00e8d..a4b9165 100644 --- a/revpimodio2/netio.py +++ b/revpimodio2/netio.py @@ -495,29 +495,29 @@ class NetFH(Thread): if self.__sockerr.is_set(): # Verhindert bei Scheitern 100% CPU last self.__sockend.wait(self.__waitsync) + continue - else: - # Kein Fehler aufgetreten, sync durchführen wenn socket frei - if not self.__trigger and \ - self.__socklock.acquire(blocking=False): - try: - self._slavesock.send(_syssync) - data = self._slavesock.recv(2) - except IOError as e: + # Kein Fehler aufgetreten, sync durchführen wenn socket frei + if not self.__trigger and \ + self.__socklock.acquire(blocking=False): + try: + self._slavesock.send(_syssync) + data = self._slavesock.recv(2) + except IOError as e: + warnings.warn( + "network error in sync of NetFH", RuntimeWarning + ) + self.__sockerr.set() + else: + if data != b'\x06\x16': warnings.warn( - "network error in sync of NetFH", RuntimeWarning + "data error in sync of NetFH", RuntimeWarning ) self.__sockerr.set() - else: - if data != b'\x06\x16': - warnings.warn( - "data error in sync of NetFH", RuntimeWarning - ) - self.__sockerr.set() - self.__socklock.release() + self.__socklock.release() - self.__trigger = False + self.__trigger = False # Warten nach Sync damit Instantiierung funktioniert self.__sockerr.wait(self.__waitsync)