From 3012dc36bbc40e6f8c07a6af7b2fba9d6c826399 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 28 Apr 2015 09:45:26 +0200 Subject: Async: Nested job error propagation. --- async/src/async.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'async/src') diff --git a/async/src/async.h b/async/src/async.h index d6a74c0..18b5979 100644 --- a/async/src/async.h +++ b/async/src/async.h @@ -514,7 +514,11 @@ private: // copy by value is const auto outFuture = future; Async::detail::copyFutureValue(watcher->future(), outFuture); - outFuture.setFinished(); + if (watcher->future().errorCode()) { + outFuture.setError(watcher->future().errorCode(), watcher->future().errorMessage()); + } else { + outFuture.setFinished(); + } delete watcher; }); watcher->setFuture(job.exec(in ...)); -- cgit v1.2.3