diff --git a/synapse/crypto/keyring.py b/synapse/crypto/keyring.py
index 8b695612c3..9efe13606a 100644
--- a/synapse/crypto/keyring.py
+++ b/synapse/crypto/keyring.py
@@ -224,15 +224,13 @@ class Keyring:
self, server_and_json: Iterable[Tuple[str, EventBase, int]]
) -> List[defer.Deferred]:
return [
- defer.ensureDeferred(
- run_in_background(
- self._verify_object,
- VerifyJsonRequest.from_event(
- server_name,
- validity_time,
- event,
- ),
- )
+ run_in_background(
+ self._verify_object,
+ VerifyJsonRequest.from_event(
+ server_name,
+ validity_time,
+ event,
+ ),
)
for server_name, event, validity_time in server_and_json
]
diff --git a/synapse/federation/federation_client.py b/synapse/federation/federation_client.py
index 20812e706e..90acc23886 100644
--- a/synapse/federation/federation_client.py
+++ b/synapse/federation/federation_client.py
@@ -391,7 +391,6 @@ class FederationClient(FederationBase):
Returns:
A list of PDUs that have valid signatures and hashes.
"""
- deferreds = self._check_sigs_and_hashes(room_version, pdus)
async def handle_check_result(pdu: EventBase, deferred: Deferred):
try:
@@ -426,6 +425,7 @@ class FederationClient(FederationBase):
return res
handle = preserve_fn(handle_check_result)
+ deferreds = self._check_sigs_and_hashes(room_version, pdus)
deferreds2 = [handle(pdu, deferred) for pdu, deferred in zip(pdus, deferreds)]
valid_pdus = await make_deferred_yieldable(
|