summary refs log tree commit diff
path: root/synapse/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/__init__.py')
-rw-r--r--synapse/__init__.py35
1 files changed, 17 insertions, 18 deletions
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 7bb07cfd05..a6623e2956 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -21,6 +21,7 @@ import os
 import sys
 
 from synapse.util.rust import check_rust_lib_up_to_date
+from synapse.util.stringutils import strtobool
 
 # Check that we're not running on an unsupported Python version.
 if sys.version_info < (3, 7):
@@ -28,31 +29,29 @@ if sys.version_info < (3, 7):
     sys.exit(1)
 
 # Allow using the asyncio reactor via env var.
-if bool(os.environ.get("SYNAPSE_ASYNC_IO_REACTOR", False)):
-    try:
-        from incremental import Version
+if strtobool(os.environ.get("SYNAPSE_ASYNC_IO_REACTOR", "0")):
+    from incremental import Version
 
-        import twisted
+    import twisted
 
-        # We need a bugfix that is included in Twisted 21.2.0:
-        # https://twistedmatrix.com/trac/ticket/9787
-        if twisted.version < Version("Twisted", 21, 2, 0):
-            print("Using asyncio reactor requires Twisted>=21.2.0")
-            sys.exit(1)
+    # We need a bugfix that is included in Twisted 21.2.0:
+    # https://twistedmatrix.com/trac/ticket/9787
+    if twisted.version < Version("Twisted", 21, 2, 0):
+        print("Using asyncio reactor requires Twisted>=21.2.0")
+        sys.exit(1)
 
-        import asyncio
+    import asyncio
 
-        from twisted.internet import asyncioreactor
+    from twisted.internet import asyncioreactor
 
-        if bool(os.environ.get("SYNAPSE_UVLOOP", False)):
-            import uvloop
+    if bool(os.environ.get("SYNAPSE_UVLOOP", False)):
+        import uvloop
 
-            uvloop.install()
-            print("Using uvloop")
+        uvloop.install()
+        print("Using uvloop")
+
+    asyncioreactor.install(asyncio.get_event_loop())
 
-        asyncioreactor.install(asyncio.get_event_loop())
-    except ImportError:
-        pass
 
 # Twisted and canonicaljson will fail to import when this file is executed to
 # get the __version__ during a fresh install. That's OK and subsequent calls to