Exitcode angepasst für RevPiSlave Thread

This commit is contained in:
2017-06-26 09:27:49 +02:00
parent 5932b40ae7
commit ea67cc3a51

View File

@@ -481,6 +481,7 @@ class RevPiSlave(Thread):
super().__init__() super().__init__()
self.deadtime = 0.5 self.deadtime = 0.5
self._evt_exit = Event() self._evt_exit = Event()
self.exitcode = None
self.th_dev = [] self.th_dev = []
self.zeroonerror = False self.zeroonerror = False
self.zeroonexit = False self.zeroonexit = False
@@ -495,12 +496,14 @@ class RevPiSlave(Thread):
self.so.bind(("", 55234)) self.so.bind(("", 55234))
except: except:
warnings.warn("can not bind socket - retry", Warning) warnings.warn("can not bind socket - retry", Warning)
proginit.logger.warning("can not bind socket - retry")
self._evt_exit.wait(1) self._evt_exit.wait(1)
else: else:
break break
self.so.listen(15) self.so.listen(15)
while not self._evt_exit.is_set(): while not self._evt_exit.is_set():
self.exitcode = -1
# Verbindung annehmen # Verbindung annehmen
proginit.logger.debug("accept new connection") proginit.logger.debug("accept new connection")
@@ -515,9 +518,15 @@ class RevPiSlave(Thread):
th.start() th.start()
self.th_dev.append(th) self.th_dev.append(th)
# Alle Threads beenden
for th in self.th_dev:
th.stop()
# Socket schließen # Socket schließen
self.so.close() self.so.close()
self.exitcode = 0
warnings.resetwarnings()
proginit.logger.debug("leave RevPiSlave.run()") proginit.logger.debug("leave RevPiSlave.run()")
def stop(self): def stop(self):
@@ -526,10 +535,6 @@ class RevPiSlave(Thread):
self._evt_exit.set() self._evt_exit.set()
self.so.shutdown(socket.SHUT_RDWR) self.so.shutdown(socket.SHUT_RDWR)
# Alle Threads beenden
for th in self.th_dev:
th.stop()
proginit.logger.debug("leave RevPiSlave.stop()") proginit.logger.debug("leave RevPiSlave.stop()")