--- a/Beremiz_service.py Fri Dec 21 13:39:41 2018 +0100
+++ b/Beremiz_service.py Fri Dec 21 13:43:41 2018 +0100
@@ -37,7 +37,7 @@
from six.moves import builtins
-from runtime.PyroServer import Server
+from runtime.PyroServer import PyroServer from runtime.xenomai import TryPreloadXenomai
from runtime import LogMessageAndException
from runtime import PlcStatus
@@ -504,7 +504,7 @@
runtime.CreatePLCObjectSingleton(
WorkingDir, argv, statuschange, evaluator, pyruntimevars)
-pyroserver = Server(servicename, interface, port)
+pyroserver = PyroServer(servicename, interface, port) taskbar_instance = BeremizTaskBarIcon(pyroserver)
--- a/runtime/PyroServer.py Fri Dec 21 13:39:41 2018 +0100
+++ b/runtime/PyroServer.py Fri Dec 21 13:43:41 2018 +0100
@@ -19,7 +19,7 @@
from runtime.ServicePublisher import ServicePublisher
+class PyroServer(object): def __init__(self, servicename, ip_addr, port):
@@ -41,6 +41,7 @@
def PyroLoop(self, when_ready):
+ if self._to_be_published(): self.Publish() Pyro.config.PYRO_MULTITHREADED = 0
@@ -56,23 +57,24 @@
self.daemon.connect(pyro_obj, "PLCObject")
- if self._to_be_published():
- self.servicepublisher = ServicePublisher()
- self.servicepublisher.RegisterService(self.servicename, self.ip_addr, self.port)
self.daemon.requestLoop()
+ self.daemon.shutdown(True) self.continueloop = False
+ self.daemon.shutdown(True)
+ self.servicepublisher = ServicePublisher("PYRO") + self.servicepublisher.RegisterService(self.servicename, + self.ip_addr, self.port) if self.servicepublisher is not None:
self.servicepublisher.UnRegisterService()
self.servicepublisher = None
- self.daemon.shutdown(True)