summary refs log tree commit diff
diff options
context:
space:
mode:
authorSilke <silke@slxh.eu>2017-12-17 13:04:05 +0100
committerSilke <silke@slxh.eu>2017-12-18 20:00:42 +0100
commit26cd3f5690493b8969a5f097e9990a4760ef2455 (patch)
tree99f08bd7124159a7017668538f4de18148944580
parentAdd methods for listening on multiple addresses (diff)
downloadsynapse-26cd3f5690493b8969a5f097e9990a4760ef2455.tar.xz
Remove logger argument and do not catch replication listener
Signed-off-by: Silke <silke@slxh.eu>
-rw-r--r--synapse/app/_base.py13
-rwxr-xr-xsynapse/app/homeserver.py29
2 files changed, 18 insertions, 24 deletions
diff --git a/synapse/app/_base.py b/synapse/app/_base.py
index 0f9a57bd4c..e4318cdfc3 100644
--- a/synapse/app/_base.py
+++ b/synapse/app/_base.py
@@ -27,6 +27,8 @@ from synapse.util import PreserveLoggingContext
 from synapse.util.rlimit import change_resource_limit
 from twisted.internet import error, reactor
 
+logger = logging.getLogger(__name__)
+
 
 def start_worker_reactor(appname, config):
     """ Run the reactor in the main process
@@ -122,7 +124,7 @@ def quit_with_error(error_string):
     sys.exit(1)
 
 
-def listen_tcp(logger, bind_addresses, port, factory, backlog=50):
+def listen_tcp(bind_addresses, port, factory, backlog=50):
     """
     Create a TCP socket for a port and several addresses
     """
@@ -135,10 +137,10 @@ def listen_tcp(logger, bind_addresses, port, factory, backlog=50):
                 address
             )
         except error.CannotListenError as e:
-            check_bind_error(logger, e, address, bind_addresses)
+            check_bind_error(e, address, bind_addresses)
 
 
-def listen_ssl(logger, bind_addresses, port, factory, context_factory, backlog=50):
+def listen_ssl(bind_addresses, port, factory, context_factory, backlog=50):
     """
     Create an SSL socket for a port and several addresses
     """
@@ -152,10 +154,10 @@ def listen_ssl(logger, bind_addresses, port, factory, context_factory, backlog=5
                 address
             )
         except error.CannotListenError as e:
-            check_bind_error(logger, e, address, bind_addresses)
+            check_bind_error(e, address, bind_addresses)
 
 
-def check_bind_error(logger, e, address, bind_addresses):
+def check_bind_error(e, address, bind_addresses):
     """
     This method checks an exception occurred while binding on 0.0.0.0.
     If :: is specified in the bind addresses a warning is shown.
@@ -166,7 +168,6 @@ def check_bind_error(logger, e, address, bind_addresses):
     When binding on 0.0.0.0 after :: this can safely be ignored.
 
     Args:
-        logger (Logger): Logger used to log the warning.
         e (Exception): Exception that was caught.
         address (str): Address on which binding was attempted.
         bind_addresses (list): Addresses on which the service listens.
diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py
index 66f206a89d..4ea2b39f20 100755
--- a/synapse/app/homeserver.py
+++ b/synapse/app/homeserver.py
@@ -25,7 +25,7 @@ from synapse.api.urls import CONTENT_REPO_PREFIX, FEDERATION_PREFIX, \
     LEGACY_MEDIA_PREFIX, MEDIA_PREFIX, SERVER_KEY_PREFIX, SERVER_KEY_V2_PREFIX, \
     STATIC_PREFIX, WEB_CLIENT_PREFIX
 from synapse.app import _base
-from synapse.app._base import quit_with_error
+from synapse.app._base import quit_with_error, listen_ssl, listen_tcp
 from synapse.config._base import ConfigError
 from synapse.config.homeserver import HomeServerConfig
 from synapse.crypto import context_factory
@@ -58,7 +58,6 @@ from twisted.internet import defer, reactor
 from twisted.web.resource import EncodingResourceWrapper, Resource
 from twisted.web.server import GzipEncoderFactory
 from twisted.web.static import File
-from twisted.internet import error
 
 logger = logging.getLogger("synapse.app.homeserver")
 
@@ -131,8 +130,7 @@ class SynapseHomeServer(HomeServer):
         root_resource = create_resource_tree(resources, root_resource)
 
         if tls:
-            _base.listen_ssl(
-                logger,
+            listen_ssl(
                 bind_addresses,
                 port,
                 SynapseSite(
@@ -145,8 +143,7 @@ class SynapseHomeServer(HomeServer):
             )
 
         else:
-            _base.listen_tcp(
-                logger,
+            listen_tcp(
                 bind_addresses,
                 port,
                 SynapseSite(
@@ -233,8 +230,7 @@ class SynapseHomeServer(HomeServer):
             elif listener["type"] == "manhole":
                 bind_addresses = listener["bind_addresses"]
 
-                _base.listen_tcp(
-                    logger,
+                listen_tcp(
                     bind_addresses,
                     listener["port"],
                     manhole(
@@ -246,16 +242,13 @@ class SynapseHomeServer(HomeServer):
             elif listener["type"] == "replication":
                 bind_addresses = listener["bind_addresses"]
                 for address in bind_addresses:
-                    try:
-                        factory = ReplicationStreamProtocolFactory(self)
-                        server_listener = reactor.listenTCP(
-                            listener["port"], factory, interface=address
-                        )
-                        reactor.addSystemEventTrigger(
-                            "before", "shutdown", server_listener.stopListening,
-                        )
-                    except error.CannotListenError as e:
-                        _base.check_bind_error(logger, e, address, bind_addresses)
+                    factory = ReplicationStreamProtocolFactory(self)
+                    server_listener = reactor.listenTCP(
+                        listener["port"], factory, interface=address
+                    )
+                    reactor.addSystemEventTrigger(
+                        "before", "shutdown", server_listener.stopListening,
+                    )
             else:
                 logger.warn("Unrecognized listener type: %s", listener["type"])