- if (active_job != _last_active_job) {
- emit (boost::bind (boost::ref (ActiveJobsChanged), _last_active_job, active_job));
- _last_active_job = active_job;
+ if (_terminate) {
+ break;
+ }
+
+ BOOST_FOREACH (shared_ptr<Job> i, _jobs) {
+ if (i->is_new()) {
+ _connections.push_back (i->FinishedImmediate.connect(bind(&JobManager::job_finished, this)));
+ i->start ();
+ emit (boost::bind (boost::ref (ActiveJobsChanged), _last_active_job, i->json_name()));
+ _last_active_job = i->json_name ();
+ /* Only start one job at once */
+ break;
+ }