]> git.tdb.fi Git - builder.git/blobdiff - source/internaltask.cpp
Not all tools can create sources
[builder.git] / source / internaltask.cpp
index b8cbf115a460183189f87643da430806f9076a9a..bcea59156be3b6ae9b70a2dad96a72bf6bc31ab7 100644 (file)
@@ -17,9 +17,17 @@ void InternalTask::start()
 
 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 = check())==RUNNING) ;
+       return result;
 }