40 #ifdef ORO_PRAGMA_INTERFACE 41 #pragma implementation 55 using namespace detail;
59 update_period(0.0), mtimeout(false), mstopRequested(false), mwaitpolicy(
ORO_WAIT_ABS)
226 wakeup = wakeup + nsperiod;
235 else if (overruns != 0) {
241 wakeup = now + nsperiod;
255 <<
" got too many periodic overruns in step() (" 256 << overruns <<
" times), stopped Thread !" 258 log(
Critical) <<
" See Thread::setMaxOverrun() for info." 306 log(
Error) <<
"Failed to stop thread " << this->
getName() <<
": breakLoop() returned true, but loop() function did not return after "<<
getStopTimeout() <<
" second(s)."<<
endlog();
virtual void work(WorkReason reason)
virtual bool isPeriodic() const
INTERNAL_QUAL void rtos_task_make_periodic(RTOS_TASK *mytask, NANO_TIME nanosecs)
virtual void work(base::RunnableInterface::WorkReason reason)
virtual os::ThreadInterface * thread()
A class for running a certain piece of code in a thread.
#define tracepoint(provider, tracepoint,...)
virtual bool setCpuAffinity(unsigned cpu_affinity)
static TimeService * Instance()
void setWaitPeriodPolicy(int p)
virtual bool initialize()
RunnableInterface * runner
virtual RTOS_TASK * getTask()
virtual bool isActive() const
Interface to start/stop and query a Activity.
bool wait_until(Mutex &m, nsecs abs_time)
const char * rtos_task_get_name(const RTOS_TASK *task)
A MutexTimedLock locks a Mutex object on construction and if successful, unlocks it on destruction of...
virtual unsigned getCpuAffinity() const
virtual void finalize()=0
bool setPeriod(Seconds s)
nsecs Seconds_to_nsecs(const Seconds s)
virtual Seconds getPeriod() const
virtual bool setPeriod(Seconds period)
virtual bool initialize()=0
Seconds getStopTimeout() const
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
virtual bool isActive() const
virtual bool isPeriodic() const
static Logger::LogFunction endlog()
virtual bool isRunning() const
virtual const char * getName() const
virtual bool setCpuAffinity(unsigned cpu)
virtual bool isRunning() const
MutexLock is a scope based Monitor, protecting critical sections with a Mutex object through locking ...
Activity(base::RunnableInterface *r=0, const std::string &name="Activity")
Create a not real-time Activity. This creates a not real-time, non-periodic thread, with priority equal to RTT::os::LowestPriority.
virtual unsigned getCpuAffinity() const