summaryrefslogtreecommitdiffstats
path: root/common/changereplay.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-05-20 16:55:21 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-05-20 16:55:21 +0200
commit227610b7399905fca38e0f09053d78e2e866f32e (patch)
tree133dbdfd137ada5833fa64bbf8c8873b91af82f9 /common/changereplay.cpp
parentd67b886dd2cf51264e4d6da680e268015a0a7031 (diff)
downloadsink-227610b7399905fca38e0f09053d78e2e866f32e.tar.gz
sink-227610b7399905fca38e0f09053d78e2e866f32e.zip
Ensure change-replay errors make it through to the correct error
handling and are appropriately dealt with.
Diffstat (limited to 'common/changereplay.cpp')
-rw-r--r--common/changereplay.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/common/changereplay.cpp b/common/changereplay.cpp
index 75b9a4c..0adbd78 100644
--- a/common/changereplay.cpp
+++ b/common/changereplay.cpp
@@ -147,7 +147,7 @@ KAsync::Job<void> ChangeReplay::replayNextRevision()
147 if (error) { 147 if (error) {
148 SinkWarningCtx(mLogCtx) << "Change replay failed: " << error << "Last replayed revision: " << *lastReplayedRevision; 148 SinkWarningCtx(mLogCtx) << "Change replay failed: " << error << "Last replayed revision: " << *lastReplayedRevision;
149 //We're probably not online or so, so postpone retrying 149 //We're probably not online or so, so postpone retrying
150 return KAsync::value(KAsync::Break); 150 return KAsync::value(KAsync::Break).then(KAsync::error<KAsync::ControlFlowFlag>(error));
151 } 151 }
152 SinkTraceCtx(mLogCtx) << "Replayed until: " << *lastReplayedRevision; 152 SinkTraceCtx(mLogCtx) << "Replayed until: " << *lastReplayedRevision;
153 153
@@ -179,6 +179,11 @@ KAsync::Job<void> ChangeReplay::replayNextRevision()
179 emit changesReplayed(); 179 emit changesReplayed();
180 } 180 }
181 } 181 }
182 if (error) {
183 return KAsync::error(error);
184 } else {
185 return KAsync::null();
186 }
182 }).guard(&mGuard); 187 }).guard(&mGuard);
183} 188}
184 189