distortos  v0.6.0
object-oriented C++ RTOS for microcontrollers
distortos::internal::anonymous_namespace{MainThread.cpp}::MainThread Class Reference

MainThread class is a Thread for main() More...

Inheritance diagram for distortos::internal::anonymous_namespace{MainThread.cpp}::MainThread:
Collaboration diagram for distortos::internal::anonymous_namespace{MainThread.cpp}::MainThread:

Public Member Functions

 MainThread (const uint8_t priority, ThreadGroupControlBlock &threadGroupControlBlock, SignalsReceiver *const signalsReceiver)
 MainThread's constructor. More...
- Public Member Functions inherited from distortos::UndetachableThread
int detach () override
 Detaches the thread. More...
- Public Member Functions inherited from distortos::internal::ThreadCommon
 ThreadCommon (Stack &&stack, uint8_t priority, SchedulingPolicy schedulingPolicy, ThreadGroupControlBlock *threadGroupControlBlock, SignalsReceiver *signalsReceiver)
 ThreadCommon's constructor. More...
 ~ThreadCommon () override
 ThreadCommon's destructor. More...
int generateSignal (uint8_t signalNumber) override
 Generates signal for thread. More...
uint8_t getEffectivePriority () const override
ThreadIdentifier getIdentifier () const override
SignalSet getPendingSignalSet () const override
 Gets set of currently pending signals. More...
uint8_t getPriority () const override
SchedulingPolicy getSchedulingPolicy () const override
size_t getStackHighWaterMark () const override
size_t getStackSize () const override
ThreadState getState () const override
int join () override
 Waits for thread termination. More...
int queueSignal (uint8_t signalNumber, sigval value) override
 Queues signal for thread. More...
void setPriority (uint8_t priority, bool alwaysBehind={}) override
 Changes priority of thread. More...
void setSchedulingPolicy (SchedulingPolicy schedulingPolicy) override
 ThreadCommon (const ThreadCommon &)=delete
 ThreadCommon (ThreadCommon &&)=default
const ThreadCommonoperator= (const ThreadCommon &)=delete
ThreadCommonoperator= (ThreadCommon &&)=delete
- Public Member Functions inherited from distortos::Thread
virtual ~Thread ()=0
 Thread's destructor. More...

Static Public Member Functions

static void lowLevelInitializer ()
 Low-level initializer of main() thread and scheduler. More...

Protected Member Functions

void run () override
 Thread's "run" function. More...
- Protected Member Functions inherited from distortos::internal::ThreadCommon
void exit0Hook () override
 Thread's "exit 0" hook function. More...
void exit1Hook () override
 Thread's "exit 1" hook function. More...
ThreadControlBlockgetThreadControlBlock ()
const ThreadControlBlockgetThreadControlBlock () const
int startInternal ()
 Starts the thread. More...

Additional Inherited Members

- Public Types inherited from distortos::internal::ThreadCommon
using StackStorageUniquePointer = Stack::StorageUniquePointer
 unique_ptr (with deleter) to storage for stack More...

Detailed Description

MainThread class is a Thread for main()

Constructor & Destructor Documentation

◆ MainThread()

distortos::internal::anonymous_namespace{MainThread.cpp}::MainThread::MainThread ( const uint8_t  priority,
ThreadGroupControlBlock threadGroupControlBlock,
SignalsReceiver *const  signalsReceiver 

MainThread's constructor.

[in]priorityis the thread's priority, 0 - lowest, UINT8_MAX - highest
[in]threadGroupControlBlockis a reference to ThreadGroupControlBlock to which this object will be added
[in]signalsReceiveris a pointer to SignalsReceiver object for main thread, nullptr to disable reception of signals for main thread
Here is the call graph for this function:

Member Function Documentation

◆ lowLevelInitializer()

void distortos::internal::anonymous_namespace{MainThread.cpp}::MainThread::lowLevelInitializer ( )

Low-level initializer of main() thread and scheduler.

This function is called before constructors for global and static objects via BIND_LOW_LEVEL_INITIALIZER().

◆ run()

void distortos::internal::anonymous_namespace{MainThread.cpp}::MainThread::run ( )

Thread's "run" function.

This function must not be used!

Implements distortos::internal::RunnableThread.

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