mirror of
https://github.com/naruxde/revpipyload.git
synced 2025-11-08 23:23:52 +01:00
Bei Änderung der Configuration nur die PLC-Slave-Verbindungen trennen
Accept Timeout auf 2 Sekunden festgelegt
This commit is contained in:
@@ -70,6 +70,12 @@ class RevPiSlave(Thread):
|
||||
)
|
||||
dev._acl = level
|
||||
|
||||
def disconnect_all(self):
|
||||
"""Close all device connection."""
|
||||
# Alle Threads beenden
|
||||
for th in self._th_dev:
|
||||
th.stop()
|
||||
|
||||
def newlogfile(self):
|
||||
"""Konfiguriert die FileHandler auf neue Logdatei."""
|
||||
pass
|
||||
@@ -80,6 +86,7 @@ class RevPiSlave(Thread):
|
||||
|
||||
# Socket öffnen und konfigurieren bis Erfolg oder Ende
|
||||
self.so = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
self.so.settimeout(2)
|
||||
while not self._evt_exit.is_set():
|
||||
try:
|
||||
self.so.bind((self._bindip, self._port))
|
||||
@@ -97,9 +104,11 @@ class RevPiSlave(Thread):
|
||||
self.exitcode = -1
|
||||
|
||||
# Verbindung annehmen
|
||||
proginit.logger.info("accept new connection for revpinetio")
|
||||
try:
|
||||
tup_sock = self.so.accept()
|
||||
proginit.logger.info("accepted new connection for revpinetio")
|
||||
except socket.timeout:
|
||||
continue
|
||||
except Exception:
|
||||
if not self._evt_exit.is_set():
|
||||
proginit.logger.exception("accept exception")
|
||||
|
||||
@@ -750,8 +750,8 @@ class RevPiPyLoad():
|
||||
if self.mqtt and self.th_plcmqtt is not None:
|
||||
self.th_plcmqtt.reload_revpimodio()
|
||||
|
||||
# ProcImgServer anhalten zum neu laden
|
||||
self.stop_plcslave()
|
||||
# Alle Verbindungen von ProcImgServer trennen
|
||||
self.th_plcslave.disconnect_all()
|
||||
|
||||
# XML Prozessabbildserver neu laden
|
||||
if self.xml_ps is not None:
|
||||
|
||||
Reference in New Issue
Block a user