11 #include "../clib/logfacility.h" 12 #include "../clib/passert.h" 13 #include "../clib/tracebuf.h" 14 #include "../plib/systemstate.h" 42 : cancelled( false ), next_run_clock_( next_run_clock ), last_run_clock_( 0 )
128 if ( handle !=
nullptr )
193 bool activity =
false;
203 if ( !task->
ready( now_clock ) )
206 *pactivity = activity;
212 if ( !task->
late( now_clock ) )
248 if ( !task->
ready( now ) )
250 INFO_PRINT_TRACE( 20 ) <<
"Task " << (
long long)( reinterpret_cast<const void*>( task ) )
251 <<
": " << task->
clocksleft( now ) <<
" clocks left\n";
polclock_t last_run_clock_
virtual void cancel(void)
OneShotTask(OneShotTask **handle, polclock_t run_when)
virtual void execute(polclock_t now) POL_OVERRIDE
friend void check_scheduled_tasks(polclock_t *clocksleft, bool *pactivity)
polclock_t next_run_clock_
#define THREAD_CHECKPOINT(thread, check)
#define TRACEBUF_ADDELEM(tag, value)
virtual void execute(polclock_t now)=0
#define INC_PROFILEVAR_BY(counter, amount)
polclock_t clocksleft(polclock_t now)
bool operator()(const ScheduledTask *x, const ScheduledTask *y) const
virtual void cancel(void) POL_OVERRIDE
ScheduledTask(polclock_t next_run_clock)
polclock_t next_run_clock() const
void set_secs(int n_secs)
bool ready(polclock_t now)
polclock_t n_initial_clocks
PeriodicTask(void(*f)(void), int n_secs, const char *name)
friend polclock_t calc_scheduler_clocksleft(polclock_t now)
polticks_t ticks_late(polclock_t now)
#define INFO_PRINT_TRACE(n)
#define passert_paranoid(exp)
virtual void execute(polclock_t now) POL_OVERRIDE
const polclock_t POLCLOCKS_PER_SEC
bool late(polclock_t now)
static void add_task(ScheduledTask *task)
#define INC_PROFILEVAR(counter)