X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Finternaltask.h;h=c927b0ba9de5f0261ceb07b54860a5a89a3b044a;hb=74ea8208bb1aa1d9afc9657a4cdfac6714241887;hp=83023d3ad33c63e0826cb4e3359a9cedd3413c66;hpb=64cd148dcd762ea368d9a552e982fdff83781ef2;p=builder.git diff --git a/source/internaltask.h b/source/internaltask.h index 83023d3..c927b0b 100644 --- a/source/internaltask.h +++ b/source/internaltask.h @@ -4,6 +4,11 @@ #include #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 ""; } virtual void start(); virtual Status check(); + virtual Status wait(); }; #endif