summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/job_manager.cc14
-rw-r--r--src/lib/job_manager.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/job_manager.cc b/src/lib/job_manager.cc
index a166b5924..76fcc6c5d 100644
--- a/src/lib/job_manager.cc
+++ b/src/lib/job_manager.cc
@@ -73,6 +73,20 @@ JobManager::work_to_do () const
return i != _jobs.end ();
}
+bool
+JobManager::errors () const
+{
+ boost::mutex::scoped_lock lm (_mutex);
+ for (list<shared_ptr<Job> >::const_iterator i = _jobs.begin(); i != _jobs.end(); ++i) {
+ if ((*i)->finished_in_error ()) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+
void
JobManager::scheduler ()
{
diff --git a/src/lib/job_manager.h b/src/lib/job_manager.h
index d1d33cfc2..8b79fd67d 100644
--- a/src/lib/job_manager.h
+++ b/src/lib/job_manager.h
@@ -41,6 +41,7 @@ public:
void add_after (boost::shared_ptr<Job> after, boost::shared_ptr<Job> j);
std::list<boost::shared_ptr<Job> > get () const;
bool work_to_do () const;
+ bool errors () const;
static JobManager* instance ();