diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-10-10 15:47:22 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-10-10 15:47:22 +0100 |
| commit | b5001080a3e5b414f6cad1c52926ed757f2d8574 (patch) | |
| tree | 53a24e5a831121ea85227b208e620d20509318c6 /src | |
| parent | 1bbd5367ddddfac18ceaa4d010cfc39f1daaa3a3 (diff) | |
Don't run more than one job at once.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/job_manager.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/job_manager.cc b/src/lib/job_manager.cc index 562c887de..2db91a177 100644 --- a/src/lib/job_manager.cc +++ b/src/lib/job_manager.cc @@ -95,6 +95,11 @@ JobManager::scheduler () { boost::mutex::scoped_lock lm (_mutex); for (list<shared_ptr<Job> >::iterator i = _jobs.begin(); i != _jobs.end(); ++i) { + if ((*i)->running ()) { + /* Something is already happening */ + break; + } + if ((*i)->is_new()) { shared_ptr<Job> r = (*i)->required (); if (!r || r->finished_ok ()) { |
