Go to the documentation of this file.
17 #ifndef USGOV_d9c2e31514229da73677728a36467d5093f9d8c21db0e4518775212f42272f6b
18 #define USGOV_d9c2e31514229da73677728a36467d5093f9d8c21db0e4518775212f42272f6b
22 #include <condition_variable>
27 namespace us{
namespace gov {
33 bgtask(
function<
void ()> run,
function<
void ()> onwakeup);
40 virtual ko wait_ready(
const chrono::system_clock::time_point& deadline)
const;
44 bool isup()
const {
return resume.load()!=2; }
45 bool isdown()
const {
return resume.load()==2; }
47 bool resumed()
const {
return resume.load()>0; }
49 void reset() { resume.store(0); }
55 atomic<short> resume{0};
59 function<void ()>
run;
function< void()> onwakeup
Definition: bgtask.h:60
virtual void task_init()
Definition: bgtask.h:73
function< void()> run
Definition: bgtask.h:59
bool resumed() const
Definition: bgtask.h:47
virtual void task_cleanup()
Definition: bgtask.h:75
mutex mx_ready
Definition: bgtask.h:62
void reset()
Definition: bgtask.h:49
wbgtask(function< void()> onwakeup)
void set_run_function(function< void()> r)
const ko_t * ko
Definition: ko.h:27
static const char * KO_81021
Definition: bgtask.h:36
condition_variable cv_ready
Definition: bgtask.h:64
static constexpr ko ok
Definition: ko.h:28
us::gov::bgtask c
Definition: bgtask.cpp:24
bool is_active() const
Definition: bgtask.h:52
bool isup() const
Definition: bgtask.h:44
bool isdown() const
Definition: bgtask.h:45
virtual ko wait_ready(const chrono::system_clock::time_point &deadline) const
#define log
Definition: gov.h:83
bgtask(function< void()> run, function< void()> onwakeup)
bgtask b
Definition: bgtask.h:68