0
0
Fork 1
mirror of https://mau.dev/maunium/synapse.git synced 2024-12-17 09:23:50 +01:00

preserve_fn some deferred-returning things

In `Notifier._on_new_room_event`, `preserve_fn` around its subroutines which
return deferreds, so that it is safe to call it with an active logcontext.
This commit is contained in:
Richard van der Hoff 2017-04-03 15:41:17 +01:00
parent e2eebf1696
commit feb496056e

View file

@ -243,10 +243,13 @@ class Notifier(object):
def _on_new_room_event(self, event, room_stream_id, extra_users=[]): def _on_new_room_event(self, event, room_stream_id, extra_users=[]):
"""Notify any user streams that are interested in this room event""" """Notify any user streams that are interested in this room event"""
# poke any interested application service. # poke any interested application service.
self.appservice_handler.notify_interested_services(room_stream_id) preserve_fn(self.appservice_handler.notify_interested_services)(
room_stream_id)
if self.federation_sender: if self.federation_sender:
self.federation_sender.notify_new_events(room_stream_id) preserve_fn(self.federation_sender.notify_new_events)(
room_stream_id
)
if event.type == EventTypes.Member and event.membership == Membership.JOIN: if event.type == EventTypes.Member and event.membership == Membership.JOIN:
self._user_joined_room(event.state_key, event.room_id) self._user_joined_room(event.state_key, event.room_id)