Orocos Real-Time Toolkit  2.9.0
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
RTT::os::MainThread Class Reference

A class which represents the main() thread. More...

#include <rtt/os/MainThread.hpp>

Inheritance diagram for RTT::os::MainThread:
RTT::os::ThreadInterface

Public Member Functions

virtual ~MainThread ()
 
virtual bool start ()
 Always fails. More...
 
virtual bool stop ()
 Always fails. More...
 
virtual Seconds getPeriod () const
 Returns zero. More...
 
virtual bool setPeriod (Seconds period)
 Returns always false. More...
 
virtual nsecs getPeriodNS () const
 Returns zero. More...
 
virtual bool isRunning () const
 Returns always true. More...
 
virtual bool isActive () const
 Returns always true. More...
 
virtual const char * getName () const
 Returns "main". More...
 
virtual RTOS_TASKgetTask ()
 Get the RTOS_TASK pointer. More...
 
virtual const RTOS_TASKgetTask () const
 const version of the above. More...
 
virtual bool setScheduler (int sched_type)
 Change the scheduler policy in which this thread runs. More...
 
virtual int getScheduler () const
 Get the scheduler policy in which this thread runs. More...
 
virtual bool setPriority (int priority)
 Set the priority of this Thread. More...
 
virtual int getPriority () const
 The priority of this Thread. More...
 
virtual unsigned int getPid () const
 Returns the Process or Thread ID of this thread, as assigned by the Operating System. More...
 
virtual unsigned getCpuAffinity () const
 
virtual void setMaxOverrun (int m)
 
virtual int getMaxOverrun () const
 
virtual void setWaitPeriodPolicy (int p)
 Set the wait policy of a periodic thread. More...
 
virtual void yield ()
 Yields (put to the back of the scheduler queue) the calling thread. More...
 
unsigned int threadNumber () const
 Returns zero, the number of the main() thread. More...
 
bool isSelf () const
 

Static Public Member Functions

static ThreadInterfaceInstance ()
 Return an object which represents the main thread. More...
 
static void Release ()
 This is called to cleanup the main thread. More...
 

Protected Attributes

int threadnb
 Threads are given an unique number, which follows thread creation order. More...
 

Detailed Description

A class which represents the main() thread.

Definition at line 52 of file MainThread.hpp.

Constructor & Destructor Documentation

RTT::os::MainThread::~MainThread ( )
virtual

Definition at line 54 of file MainThread.cpp.

References RTT::os::rtos_task_delete_main().

Member Function Documentation

unsigned RTT::os::MainThread::getCpuAffinity ( ) const
virtual
Returns
the cpu affinity

Implements RTT::os::ThreadInterface.

Definition at line 114 of file MainThread.cpp.

References RTT::os::rtos_task_get_cpu_affinity().

int RTT::os::MainThread::getMaxOverrun ( ) const
virtual

Implements RTT::os::ThreadInterface.

Definition at line 128 of file MainThread.cpp.

const char * RTT::os::MainThread::getName ( ) const
virtual

Returns "main".

Implements RTT::os::ThreadInterface.

Definition at line 82 of file MainThread.cpp.

Seconds RTT::os::MainThread::getPeriod ( ) const
virtual

Returns zero.

Implements RTT::os::ThreadInterface.

Definition at line 75 of file MainThread.cpp.

nsecs RTT::os::MainThread::getPeriodNS ( ) const
virtual

Returns zero.

Implements RTT::os::ThreadInterface.

Definition at line 77 of file MainThread.cpp.

unsigned int RTT::os::MainThread::getPid ( ) const
virtual

Returns the Process or Thread ID of this thread, as assigned by the Operating System.

This function tries to return the Thread ID, if the OS supports it, otherwise it returns the process ID. If that is not available either, zero is returned. On Linux systems for example, the Thread ID of the main thread is equal to the Process ID. The Thread ID of every newly created thread is different from the Process ID (and unique).

Implements RTT::os::ThreadInterface.

Definition at line 109 of file MainThread.cpp.

References RTT::os::rtos_task_get_pid().

int RTT::os::MainThread::getPriority ( ) const
virtual

The priority of this Thread.

Returns
The priority given upon construction of this thread or set with setPriority. The returned number has to be interpreted in the current OS scheduler.
See also
setScheduler

Implements RTT::os::ThreadInterface.

Definition at line 104 of file MainThread.cpp.

References RTT::os::rtos_task_get_priority().

int RTT::os::MainThread::getScheduler ( ) const
virtual

Get the scheduler policy in which this thread runs.

Returns
An OS-specific value which represents the used scheduler.
See also
setScheduler

Implements RTT::os::ThreadInterface.

Definition at line 94 of file MainThread.cpp.

References RTT::os::rtos_task_get_scheduler().

RTOS_TASK * RTT::os::MainThread::getTask ( )
virtual

Get the RTOS_TASK pointer.

Note
Using this function leads to non-portable code. It is here for users which wish to tweak OS specific thread settings.

Implements RTT::os::ThreadInterface.

Definition at line 84 of file MainThread.cpp.

const RTOS_TASK * RTT::os::MainThread::getTask ( ) const
virtual

const version of the above.

Implements RTT::os::ThreadInterface.

Definition at line 86 of file MainThread.cpp.

ThreadInterface * RTT::os::MainThread::Instance ( )
static
bool RTT::os::MainThread::isActive ( ) const
virtual

Returns always true.

Implements RTT::os::ThreadInterface.

Definition at line 80 of file MainThread.cpp.

bool RTT::os::MainThread::isRunning ( ) const
virtual

Returns always true.

Implements RTT::os::ThreadInterface.

Definition at line 79 of file MainThread.cpp.

bool ThreadInterface::isSelf ( ) const
inherited
void RTT::os::MainThread::Release ( )
static

This is called to cleanup the main thread.

After this call, no OS calls may be done.

Definition at line 66 of file MainThread.cpp.

Referenced by __os_exit().

void RTT::os::MainThread::setMaxOverrun ( int  m)
virtual

Implements RTT::os::ThreadInterface.

Definition at line 124 of file MainThread.cpp.

bool RTT::os::MainThread::setPeriod ( Seconds  period)
virtual

Returns always false.

Implements RTT::os::ThreadInterface.

Definition at line 119 of file MainThread.cpp.

bool RTT::os::MainThread::setPriority ( int  priority)
virtual

Set the priority of this Thread.

Parameters
priorityThe priority given upon construction of this thread. It has to be interpreted in the current OS scheduler.
See also
setScheduler

Implements RTT::os::ThreadInterface.

Definition at line 99 of file MainThread.cpp.

References RTT::os::rtos_task_set_priority().

bool RTT::os::MainThread::setScheduler ( int  sched_type)
virtual

Change the scheduler policy in which this thread runs.

Parameters
sched_typeAn OS-specific value which selects a scheduler. Orocos requires that these two values are available:
  • ORO_SCHED_RT: Hint the OS that this thread should be scheduled as a priority or real-time process.
  • ORO_SCHED_OTHER: Hint the OS that this thread should not be scheduled as a priority or real-time process.

Your OS can in addition provide other sched_type's which map more naturally to the schedulers present. If your OS does not make a distinction between real-time and other, both values may map to the same scheduler type.

Returns
true if the change could be made.

Implements RTT::os::ThreadInterface.

Definition at line 88 of file MainThread.cpp.

References RTT::os::rtos_task_set_scheduler().

void RTT::os::MainThread::setWaitPeriodPolicy ( int  p)
virtual

Set the wait policy of a periodic thread.

Parameters
Thewait policy can be ORO_WAIT_ABS (absolute wait) and ORO_WAIT_REL (relative wait, with respect to current time)

Implements RTT::os::ThreadInterface.

Definition at line 133 of file MainThread.cpp.

References RTT::os::rtos_task_set_wait_period_policy().

bool RTT::os::MainThread::start ( )
virtual

Always fails.

Implements RTT::os::ThreadInterface.

Definition at line 71 of file MainThread.cpp.

bool RTT::os::MainThread::stop ( )
virtual

Always fails.

Implements RTT::os::ThreadInterface.

Definition at line 73 of file MainThread.cpp.

unsigned int RTT::os::MainThread::threadNumber ( ) const

Returns zero, the number of the main() thread.

Definition at line 143 of file MainThread.cpp.

void RTT::os::MainThread::yield ( )
virtual

Yields (put to the back of the scheduler queue) the calling thread.

Implements RTT::os::ThreadInterface.

Definition at line 138 of file MainThread.cpp.

References RTT::os::rtos_task_yield().

Member Data Documentation

int RTT::os::ThreadInterface::threadnb
protectedinherited

Threads are given an unique number, which follows thread creation order.

See also
os::threads

Definition at line 229 of file ThreadInterface.hpp.

Referenced by RTT::os::ThreadInterface::ThreadInterface().


The documentation for this class was generated from the following files: