Official mbed Real Time Operating System based on the RTX implementation of the CMSIS-RTOS API open standard.
Fork of mbed-rtos by
Diff: rtos/Thread.h
- Revision:
- 120:19af2d39a542
- Parent:
- 119:6635230e06ba
- Child:
- 121:4dc938e301cc
--- a/rtos/Thread.h Mon Jul 25 14:12:24 2016 +0100 +++ b/rtos/Thread.h Wed Aug 10 16:09:20 2016 +0100 @@ -26,6 +26,8 @@ #include "cmsis_os.h" #include "Callback.h" #include "toolchain.h" +#include "Semaphore.h" +#include "Mutex.h" namespace rtos { @@ -205,6 +207,9 @@ WaitingSemaphore, /**< Waiting for a semaphore event to occur */ WaitingMailbox, /**< Waiting for a mailbox event to occur */ WaitingMutex, /**< Waiting for a mutex event to occur */ + + /* Not in sync with RTX below here */ + Deleted, /**< The task has been deleted */ }; /** State of this Thread @@ -275,11 +280,14 @@ osPriority priority=osPriorityNormal, uint32_t stack_size=DEFAULT_STACK_SIZE, unsigned char *stack_pointer=NULL); + static void _thunk(const void * thread_ptr); mbed::Callback<void()> _task; osThreadId _tid; osThreadDef_t _thread_def; bool _dynamic_stack; + Semaphore _join_sem; + Mutex _mutex; }; }