summary refs log tree commit diff
path: root/synapse/push/emailpusher.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-07-31 15:30:13 +0100
committerErik Johnston <erik@matrix.org>2016-07-31 16:00:12 +0100
commitb260f92936e7e80ee9885755d608d58ffb9101ba (patch)
tree6eb55aeff2bc460a252c8963344d1da08c79fcc3 /synapse/push/emailpusher.py
parentMerge pull request #958 from matrix-org/paul/SYN-738 (diff)
downloadsynapse-b260f92936e7e80ee9885755d608d58ffb9101ba.tar.xz
Ignore AlreadyCalled errors on timer cancel
Diffstat (limited to 'synapse/push/emailpusher.py')
-rw-r--r--synapse/push/emailpusher.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/synapse/push/emailpusher.py b/synapse/push/emailpusher.py

index e224b68291..6600c9cd55 100644 --- a/synapse/push/emailpusher.py +++ b/synapse/push/emailpusher.py
@@ -14,6 +14,7 @@ # limitations under the License. from twisted.internet import defer, reactor +from twisted.internet.error import AlreadyCalled, AlreadyCancelled import logging @@ -92,7 +93,11 @@ class EmailPusher(object): def on_stop(self): if self.timed_call: - self.timed_call.cancel() + try: + self.timed_call.cancel() + except (AlreadyCalled, AlreadyCancelled): + pass + self.timed_call = None @defer.inlineCallbacks def on_new_notifications(self, min_stream_ordering, max_stream_ordering): @@ -189,7 +194,10 @@ class EmailPusher(object): soonest_due_at = should_notify_at if self.timed_call is not None: - self.timed_call.cancel() + try: + self.timed_call.cancel() + except (AlreadyCalled, AlreadyCancelled): + pass self.timed_call = None if soonest_due_at is not None: