aboutsummaryrefslogtreecommitdiff
path: root/src/common/threadpool.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/threadpool.h')
-rw-r--r--src/common/threadpool.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/common/threadpool.h b/src/common/threadpool.h
index 91f9fdf47..66b08fece 100644
--- a/src/common/threadpool.h
+++ b/src/common/threadpool.h
@@ -55,12 +55,16 @@ public:
class waiter {
boost::mutex mt;
boost::condition_variable cv;
+ threadpool &pool;
int num;
+ bool error_flag;
public:
void inc();
void dec();
- void wait(threadpool *tpool); //! Wait for a set of tasks to finish.
- waiter() : num(0){}
+ bool wait(); //! Wait for a set of tasks to finish, returns false iff any error
+ void set_error() noexcept { error_flag = true; }
+ bool error() const noexcept { return error_flag; }
+ waiter(threadpool &pool) : pool(pool), num(0), error_flag(false) {}
~waiter();
};