summaryrefslogtreecommitdiffstats
path: root/common/commandprocessor.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-01-22 18:25:31 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-01-22 18:25:31 +0100
commite513ee41adb6061aa72de8bfe49d117f47c1545b (patch)
treed91fd8abb5d2f47ec24dff497bcf18e218f01641 /common/commandprocessor.cpp
parentec16f3b92d6017462f4bba8354b53d1707850430 (diff)
downloadsink-e513ee41adb6061aa72de8bfe49d117f47c1545b.tar.gz
sink-e513ee41adb6061aa72de8bfe49d117f47c1545b.zip
Support dependencies between sync requests.
If one sync task depends on the previous sync task we want to flush in between, so we can query for the results of the previous sync request locally. If we detect such a dependency we temporarily halt all processing of synchronization requests until the flush completes, so we can continue processing.
Diffstat (limited to 'common/commandprocessor.cpp')
-rw-r--r--common/commandprocessor.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/common/commandprocessor.cpp b/common/commandprocessor.cpp
index a6371be..5d5261f 100644
--- a/common/commandprocessor.cpp
+++ b/common/commandprocessor.cpp
@@ -331,6 +331,7 @@ KAsync::Job<void> CommandProcessor::flush(void const *command, size_t size)
331 mSynchronizer->flush(flushType, flushId); 331 mSynchronizer->flush(flushType, flushId);
332 } else { 332 } else {
333 SinkTraceCtx(mLogCtx) << "Emitting flush completion" << flushId; 333 SinkTraceCtx(mLogCtx) << "Emitting flush completion" << flushId;
334 mSynchronizer->flushComplete(flushId);
334 Sink::Notification n; 335 Sink::Notification n;
335 n.type = Sink::Notification::FlushCompletion; 336 n.type = Sink::Notification::FlushCompletion;
336 n.id = flushId; 337 n.id = flushId;