summaryrefslogtreecommitdiffstats
path: root/module/remote/RemoteManager.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/remote/RemoteManager.py')
-rw-r--r--module/remote/RemoteManager.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/module/remote/RemoteManager.py b/module/remote/RemoteManager.py
index 2ac26a677..6caedad90 100644
--- a/module/remote/RemoteManager.py
+++ b/module/remote/RemoteManager.py
@@ -24,14 +24,19 @@ class BackendBase(Thread):
Thread.__init__(self)
self.m = manager
self.core = manager.core
+ self.enabled = True
+ self.running = False
def run(self):
+ self.running = True
try:
self.serve()
except Exception, e:
self.core.log.error(_("Remote backend error: %s") % e)
if self.core.debug:
print_exc()
+ finally:
+ self.running = False
def setup(self, host, port):
pass
@@ -42,14 +47,27 @@ class BackendBase(Thread):
def serve(self):
pass
+ def shutdown(self):
+ pass
+
+ def stop(self):
+ self.enabled = False# set flag and call shutdowm message, so thread can react
+ self.shutdown()
+
class RemoteManager():
- available = ["ThriftBackend"]
+ available = []
def __init__(self, core):
self.core = core
self.backends = []
+ if self.core.remote:
+ self.available.append("ThriftBackend")
+ else:
+ self.available.append("SocketBackend")
+
+
def startBackends(self):
host = self.core.config["remote"]["listenaddr"]
port = self.core.config["remote"]["port"]