1 files changed, 10 insertions, 1 deletions
diff --git a/synapse/util/async.py b/synapse/util/async.py
index 647ea6142c..1219d927db 100644
--- a/synapse/util/async.py
+++ b/synapse/util/async.py
@@ -16,8 +16,17 @@
from twisted.internet import defer, reactor
+from .logcontext import PreserveLoggingContext
+@defer.inlineCallbacks
def sleep(seconds):
d = defer.Deferred()
reactor.callLater(seconds, d.callback, seconds)
- return d
+ with PreserveLoggingContext():
+ yield d
+
+def run_on_reactor():
+ """ This will cause the rest of the function to be invoked upon the next
+ iteration of the main loop
+ """
+ return sleep(0)
|