InternalTask::~InternalTask()
{
+ worker->join();
delete worker;
}
+void InternalTask::start()
+{
+ worker->launch();
+}
+
Task::Status InternalTask::check()
{
if(worker->get_status()!=RUNNING)
return worker->get_status();
}
+Task::Status InternalTask::wait()
+{
+ Status result;
+ while((result = worker->get_status())==RUNNING) ;
+ return result;
+}
+
InternalTask::Worker::Worker():
status(RUNNING)