From 3f6b8def0541be29218e65eceaa84537f204de78 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Sun, 29 Apr 2018 02:44:46 +0200 Subject: [PATCH] Move ConnectionServer listen to separate function to allow TorManager start before connections --- src/Connection/ConnectionServer.py | 9 +++++++-- src/File/FileServer.py | 4 +++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Connection/ConnectionServer.py b/src/Connection/ConnectionServer.py index 964c69e3..573f41ab 100644 --- a/src/Connection/ConnectionServer.py +++ b/src/Connection/ConnectionServer.py @@ -78,9 +78,14 @@ class ConnectionServer(object): self.stream_server = StreamServer( (self.ip, self.port), self.handleIncomingConnection, spawn=self.pool, backlog=100 ) - self.stream_server.serve_forever() # Start normal connection server except Exception, err: - self.log.info("StreamServer bind error, must be running already: %s" % err) + self.log.info("StreamServer bind error: %s" % err) + + def listen(self): + try: + self.stream_server.serve_forever() + except Exception, err: + self.log.info("StreamServer listen error: %s" % err) def stop(self): self.running = False diff --git a/src/File/FileServer.py b/src/File/FileServer.py index 09cc0bfe..414a69f8 100644 --- a/src/File/FileServer.py +++ b/src/File/FileServer.py @@ -379,6 +379,8 @@ class FileServer(ConnectionServer): from Debug import DebugReloader DebugReloader(self.reload) + ConnectionServer.start(self) + if check_sites: # Open port, Update sites, Check files integrity gevent.spawn(self.checkSites) @@ -386,7 +388,7 @@ class FileServer(ConnectionServer): thread_cleanup_sites = gevent.spawn(self.cleanupSites) thread_wakeup_watcher = gevent.spawn(self.wakeupWatcher) - ConnectionServer.start(self) + ConnectionServer.listen(self) self.log.debug("Stopped.")