Orocos Real-Time Toolkit
2.6.0
|
A class which represents the main() thread. More...
#include <rtt/os/MainThread.hpp>
Public Member Functions | |
virtual bool | start () |
Always fails. | |
virtual bool | stop () |
Always fails. | |
virtual Seconds | getPeriod () const |
Returns zero. | |
virtual bool | setPeriod (Seconds period) |
Returns always false. | |
virtual nsecs | getPeriodNS () const |
Returns zero. | |
virtual bool | isRunning () const |
Returns always true. | |
virtual bool | isActive () const |
Returns always true. | |
virtual const char * | getName () const |
Returns "main". | |
virtual RTOS_TASK * | getTask () |
Get the RTOS_TASK pointer. | |
virtual const RTOS_TASK * | getTask () const |
const version of the above. | |
virtual bool | setScheduler (int sched_type) |
Change the scheduler policy in which this thread runs. | |
virtual int | getScheduler () const |
Get the scheduler policy in which this thread runs. | |
virtual bool | setPriority (int priority) |
Set the priority of this Thread. | |
virtual int | getPriority () const |
The priority of this Thread. | |
virtual unsigned int | getPid () const |
Returns the Process or Thread ID of this thread, as assigned by the Operating System. | |
virtual void | setMaxOverrun (int m) |
virtual int | getMaxOverrun () const |
virtual void | setWaitPeriodPolicy (int p) |
Set the wait policy of a periodic thread. | |
virtual void | yield () |
Yields (put to the back of the scheduler queue) the calling thread. | |
unsigned int | threadNumber () const |
Returns zero, the number of the main() thread. | |
bool | isSelf () const |
Static Public Member Functions | |
static ThreadInterface * | Instance () |
Return an object which represents the main thread. | |
static void | Release () |
This is called to cleanup the main thread. | |
Protected Attributes | |
int | threadnb |
Threads are given an unique number, which follows thread creation order. |
A class which represents the main() thread.
Definition at line 52 of file MainThread.hpp.
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.
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.
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.
Implements RTT::os::ThreadInterface.
Definition at line 84 of file MainThread.cpp.
ThreadInterface * RTT::os::MainThread::Instance | ( | ) | [static] |
Return an object which represents the main thread.
Only after this call, OS calls may be done.
Definition at line 58 of file MainThread.cpp.
Referenced by __os_init(), RTT::extras::SequentialActivity::thread(), and RTT::extras::SlaveActivity::thread().
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().
bool RTT::os::MainThread::setPriority | ( | int | priority | ) | [virtual] |
Set the priority of this Thread.
priority | The priority given upon construction of this thread. It has to be interpreted in the current OS scheduler. |
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.
sched_type | An OS-specific value which selects a scheduler. Orocos requires that these two values are available:
|
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.
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.
The | wait policy between ORO_WAIT_ABS (absolute wait) and ORO_WAIT_REL (relative wait) |
Implements RTT::os::ThreadInterface.
Definition at line 128 of file MainThread.cpp.
References RTT::os::rtos_task_set_wait_period_policy().
int RTT::os::ThreadInterface::threadnb [protected, inherited] |
Threads are given an unique number, which follows thread creation order.
Definition at line 223 of file ThreadInterface.hpp.