void task::setRunning() { if (!running) { paused_tasks.remove_paused_task(this); add_to_runqueue(); } }
task::~task() { if (running) { remove_from_runqueue(); } else { paused_tasks.remove_paused_task(this); } all_tasks.erase(taskit); }
void task::setPaused() { if (running) { if (!remove_from_runqueue()) { WARNING("Tried to remove a running call that wasn't running!\n"); assert(0); } } else { paused_tasks.remove_paused_task(this); } assert(running == false); add_to_paused_tasks(true); }
int paused_tasks_count() { return paused_tasks.size(); }
int expire_paused_tasks() { return paused_tasks.expire_paused_tasks(); }
void task::add_to_paused_tasks(bool increment) { paused_tasks.add_paused_task(this, increment); }