summary refs log tree commit diff
path: root/synapse/federation/federation_client.py
diff options
context:
space:
mode:
authorMark Haines <mjark@negativecurvature.net>2015-05-22 17:01:40 +0100
committerMark Haines <mjark@negativecurvature.net>2015-05-22 17:01:40 +0100
commit5ebd33302f23e9d0f57ce2c0966ef2d514fc9ee0 (patch)
treee804fc954f4e1d46e082b8d04a56a93b6c11e7b6 /synapse/federation/federation_client.py
parentMerge pull request #156 from matrix-org/erikj/join_perf (diff)
parentRemove redundant for loop (diff)
downloadsynapse-5ebd33302f23e9d0f57ce2c0966ef2d514fc9ee0.tar.xz
Merge pull request #162 from matrix-org/erikj/backfill_fixes
backfill fixes
Diffstat (limited to 'synapse/federation/federation_client.py')
-rw-r--r--synapse/federation/federation_client.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/synapse/federation/federation_client.py b/synapse/federation/federation_client.py
index 3249060bcf..d3b46b24c1 100644
--- a/synapse/federation/federation_client.py
+++ b/synapse/federation/federation_client.py
@@ -165,10 +165,11 @@ class FederationClient(FederationBase):
             for p in transaction_data["pdus"]
         ]
 
-        for i, pdu in enumerate(pdus):
-            pdus[i] = yield self._check_sigs_and_hash(pdu)
-
-            # FIXME: We should handle signature failures more gracefully.
+        # FIXME: We should handle signature failures more gracefully.
+        pdus[:] = yield defer.gatherResults(
+            [self._check_sigs_and_hash(pdu) for pdu in pdus],
+            consumeErrors=True,
+        ).addErrback(unwrapFirstError)
 
         defer.returnValue(pdus)