diff options
Diffstat (limited to 'synapse/util/async.py')
-rw-r--r-- | synapse/util/async.py | 11 |
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) |