1
0
This commit is contained in:
Erik Johnston
2022-12-15 13:20:20 +00:00
parent 6842974391
commit 87406aa5d3
2 changed files with 4 additions and 1 deletions

View File

@@ -645,7 +645,7 @@ class MatrixFederationHttpClient:
headers_dict,
data,
)
response = await defer.Deferred.fromFuture(response_d)
response = await make_deferred_yieldable(response_d)
except DNSLookupError as e:
raise RequestSendFailed(e, can_retry=retry_on_dns_fail) from e
except Exception as e:

View File

@@ -26,6 +26,7 @@ import logging
import threading
import typing
import warnings
from asyncio import Future
from types import TracebackType
from typing import (
TYPE_CHECKING,
@@ -814,6 +815,8 @@ def run_in_background( # type: ignore[misc]
res = defer.ensureDeferred(res)
elif isinstance(res, defer.Deferred):
pass
elif isinstance(res, Future):
res = defer.Deferred.fromFuture(res)
elif isinstance(res, Awaitable):
# `res` is probably some kind of completed awaitable, such as a `DoneAwaitable`
# or `Future` from `make_awaitable`.