summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
Diffstat (limited to 'synapse')
-rw-r--r--synapse/handlers/federation.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index 2b09a410f4..4a543a3976 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -232,7 +232,11 @@ class FederationHandler(BaseHandler):
         d = defer.Deferred()
         self.waiting_for_join_list.setdefault((joinee, room_id), []).append(d)
         reactor.callLater(10, d.cancel)
-        yield d
+
+        try:
+            yield d
+        except defer.CancelledError:
+            raise SynapseError("500", "Unable to join remote room")
 
         try:
             yield self.store.store_room(