Task::Status InternalTask::check()
{
- if(worker->get_status()!=RUNNING)
- signal_finished.emit(worker->get_status()==SUCCESS);
- return worker->get_status();
+ Status result = worker->get_status();
+ if(result!=RUNNING)
+ signal_finished.emit(result==SUCCESS);
+ return result;
}
Task::Status InternalTask::wait()
{
Status result;
- while((result = worker->get_status())==RUNNING) ;
+ while((result = check())==RUNNING) ;
return result;
}