]> git.tdb.fi Git - builder.git/blobdiff - source/internaltask.h
Recent versions of sigc++ require C++11
[builder.git] / source / internaltask.h
index 83023d3ad33c63e0826cb4e3359a9cedd3413c66..c927b0ba9de5f0261ceb07b54860a5a89a3b044a 100644 (file)
@@ -4,6 +4,11 @@
 #include <msp/core/thread.h>
 #include "task.h"
 
+/**
+Runs a worker thread.  Tools should derive a thread class from
+InternalTask::Worker.  The worker thread must set its status to either SUCCESS
+or ERROR before terminating.
+*/
 class InternalTask: public Task
 {
 public:
@@ -12,7 +17,7 @@ public:
                friend class InternalTask;
 
        protected:
-               Status status;
+               volatile Status status;
 
                Worker();
 
@@ -30,6 +35,7 @@ public:
        virtual std::string get_command() const { return "<internal>"; }
        virtual void start();
        virtual Status check();
+       virtual Status wait();
 };
 
 #endif