JobManager::JobManager ()
: _terminate (false)
, _last_active_jobs (false)
- , _scheduler (new boost::thread (boost::bind (&JobManager::scheduler, this)))
+ , _scheduler (0)
{
}
+void
+JobManager::start ()
+{
+ _scheduler = new boost::thread (boost::bind (&JobManager::scheduler, this));
+}
+
JobManager::~JobManager ()
{
{
_terminate = true;
}
- if (_scheduler->joinable ()) {
+ if (_scheduler) {
_scheduler->join ();
}
+
+ delete _scheduler;
}
shared_ptr<Job>
{
if (_instance == 0) {
_instance = new JobManager ();
+ _instance->start ();
}
return _instance;