We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Didn't know RTX allows to create dynamic processes.
osThreadId osThreadCreate (osThreadDef_t *thread_def, void *argument) Create a thread and add it to Active Threads and set it to state READY. osThreadId osThreadGetId (void) Return the thread ID of the current running thread. osStatus osThreadTerminate (osThreadId thread_id) Terminate execution of a thread and remove it from Active Threads. osThreadId osThreadCreate (osThreadDef_t *thread_def, void *argument) Create a thread and add it to Active Threads and set it to state READY. osThreadId osThreadGetId (void) Return the thread ID of the current running thread. osStatus osThreadTerminate (osThreadId thread_id) Terminate execution of a thread and remove it from Active Threads. osThreadId osThreadCreate (osThreadDef_t *thread_def, void *argument) Create a thread and add it to Active Threads and set it to state READY. osThreadId osThreadGetId (void) Return the thread ID of the current running thread. osStatus osThreadTerminate (osThreadId thread_id) Terminate execution of a thread and remove it from Active Threads.
Anyway, the cleanest way would be to send a message to the interrupt process to tell it the thread id.And of course, if the receiver gets killed, also notify the interrupt thread about that so it will discard the thread id.
BTW found this in the RTX sources:...snip..So it is perfect clear the NULL is an ivalid thread ID esp. because it is a pointer.