void taskTimeout(unsigned ms);
unsigned taskTimeout() const;
+ void abortOnTimeout(bool flag);
+ bool abortOnTimeout() const;
void startWatchdog();
void stopWatchdog();
iterator begin() const;
iterator end() const;
+ void yield();
+
protected:
private:
~FIFORunner();
static void watchdog(int, siginfo_t *, void *);
+ void watchdogError();
TaskList::iterator priorityEnd(TaskInfo::Priority p);
void run(TaskList::iterator f, TaskList::iterator l);
timer_t watchdogId_;
bool watchdogRunning_;
unsigned watchdogMs_;
+ bool watchdogAbort_;
std::string runningName_;
# ifdef SENF_DEBUG
std::string runningBacktrace_;
# endif
unsigned watchdogCount_;
unsigned hangCount_;
+ bool yield_;
friend void senf::scheduler::restart();
friend class singleton<FIFORunner>;