]> git.tdb.fi Git - builder.git/blob - source/internaltask.cpp
Avoid killing internal worker threads
[builder.git] / source / internaltask.cpp
1 #include "internaltask.h"
2
3 InternalTask::InternalTask(Worker *w):
4         worker(w)
5 { }
6
7 InternalTask::~InternalTask()
8 {
9         worker->join();
10         delete worker;
11 }
12
13 void InternalTask::start()
14 {
15         worker->launch();
16 }
17
18 Task::Status InternalTask::check()
19 {
20         if(worker->get_status()!=RUNNING)
21                 signal_finished.emit(worker->get_status()==SUCCESS);
22         return worker->get_status();
23 }
24
25
26 InternalTask::Worker::Worker():
27         status(RUNNING)
28 { }