diff options
author | Mark Haines <mark.haines@matrix.org> | 2015-05-14 11:25:30 +0100 |
---|---|---|
committer | Mark Haines <mark.haines@matrix.org> | 2015-05-14 11:25:30 +0100 |
commit | 3edd2d5c93ccbec46f101e65c6c7874a90bf0018 (patch) | |
tree | 0100c65cc9eae79cb35cce95d7131ca0df6e4a48 /synapse | |
parent | Fix metric counter (diff) | |
download | synapse-3edd2d5c93ccbec46f101e65c6c7874a90bf0018.tar.xz |
Fix v2 sync, update the last_notified_ms only if there was an active listener
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/handlers/sync.py | 2 | ||||
-rw-r--r-- | synapse/notifier.py | 11 |
2 files changed, 7 insertions, 6 deletions
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index 35a62fda47..bd8c603681 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -92,7 +92,7 @@ class SyncHandler(BaseHandler): result = yield self.current_sync_for_user(sync_config, since_token) defer.returnValue(result) else: - def current_sync_callback(): + def current_sync_callback(before_token, after_token): return self.current_sync_for_user(sync_config, since_token) rm_handler = self.hs.get_handlers().room_member_handler diff --git a/synapse/notifier.py b/synapse/notifier.py index 1f7f0a143f..2de7dca8a5 100644 --- a/synapse/notifier.py +++ b/synapse/notifier.py @@ -81,14 +81,15 @@ class _NotifierUserStream(object): self.last_notified_ms = time_now_ms def notify(self, stream_key, stream_id, time_now_ms): - self.last_notified_ms = time_now_ms self.current_token = self.current_token.copy_and_replace( stream_key, stream_id ) - listeners = self.listeners - self.listeners = set() - for listener in listeners: - listener.notify(self.current_token) + if self.listeners: + self.last_notified_ms = time_now_ms + listeners = self.listeners + self.listeners = set() + for listener in listeners: + listener.notify(self.current_token) def remove(self, notifier): """ Remove this listener from all the indexes in the Notifier |