summary refs log tree commit diff
path: root/synapse/util/distributor.py
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2021-04-16 15:02:53 +0100
committerAndrew Morgan <andrew@amorgan.xyz>2021-04-16 15:02:53 +0100
commitcf1e0196bbad0e285257fd71784682e9c070e73e (patch)
tree547361ab57e2348bc21c76eb81b409371624fa30 /synapse/util/distributor.py
parentMerge commit 'c64002e1c' into anoa/dinsic_release_1_31_0 (diff)
parentAllow spam-checker modules to be provide async methods. (#8890) (diff)
downloadsynapse-cf1e0196bbad0e285257fd71784682e9c070e73e.tar.xz
Merge commit 'f14428b25' into anoa/dinsic_release_1_31_0
Diffstat (limited to 'synapse/util/distributor.py')
-rw-r--r--synapse/util/distributor.py7
1 files changed, 2 insertions, 5 deletions
diff --git a/synapse/util/distributor.py b/synapse/util/distributor.py

index f73e95393c..a6ee9edaec 100644 --- a/synapse/util/distributor.py +++ b/synapse/util/distributor.py
@@ -12,13 +12,13 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -import inspect import logging from twisted.internet import defer from synapse.logging.context import make_deferred_yieldable, run_in_background from synapse.metrics.background_process_metrics import run_as_background_process +from synapse.util.async_helpers import maybe_awaitable logger = logging.getLogger(__name__) @@ -105,10 +105,7 @@ class Signal: async def do(observer): try: - result = observer(*args, **kwargs) - if inspect.isawaitable(result): - result = await result - return result + return await maybe_awaitable(observer(*args, **kwargs)) except Exception as e: logger.warning( "%s signal observer %s failed: %r", self.name, observer, e,