This endpoint is intended for managing threads.
Information about methods of the endpoint is provided in the table below.
Method | Method purpose and parameters | Potential danger of the method |
Create | Purpose Creates a thread. Parameters - [out]
tid – thread ID (TID). - [in]
priority – value defining the thread priority. - [in]
stackSize – size of the stack for the thread, or 0 for the default size. - [in]
routine – pointer to the function that will be executed when creating the thread. - [in]
context – pointer to the function that will be executed in the thread context. - [in]
context2 – pointer to the parameters that will be passed to the function defined through the context parameter. - [in]
flags – flags defining the parameters for creating the thread. - [out]
rc – return code.
| Allows the following: - Create a real-time thread that takes up all the CPU time from other threads, including from other processes (it is recommended to monitor thread creation parameters).
- Create a multitude of threads (including with high priority) to reduce the CPU time available to the threads of other processes (it is recommended to monitor thread priority).
- Exhaust the RAM.
- Exhaust the kernel memory by creating a multitude of objects within it.
|
Suspend | Purpose Blocks a thread. Parameters - [in]
tid – thread ID (TID). - [out]
rc – return code.
| Lets you lock a standard thread that has captured the synchronization entity expected by the real-time thread in whose context the interrupt is being handled. This could stop the handling of this interrupt by other processes. |
Resume | Purpose Resumes a thread. Parameters - [in]
tid – thread ID (TID). - [out]
rc – return code.
| N/A |
Terminate | Purpose Terminates a thread. Parameters - [in]
tid – thread ID (TID). - [in]
zombie – fictitious parameter. - [in]
code – thread exit code. - [out]
rc – return code.
| N/A |
Exit | Purpose Terminates the current thread. Parameters - [in]
zombie – fictitious parameter. - [in]
code – thread exit code. - [out]
rc – return code.
| N/A |
Wait | Purpose Locks the current thread until the defined thread is terminated. Parameters - [in]
tid – thread ID (TID). - [in]
msec – thread termination timeout (in milliseconds). - [out]
code – thread exit code. - [out]
rc – return code.
| N/A |
SetPriority | Purpose Defines the priority of a thread. Parameters - [in]
tid – thread ID (TID). - [in]
priority – value defining the thread priority. - [out]
rc – return code.
| Allows the priority of a thread to be elevated to reduce the CPU time available to all other threads, including from other processes. It is recommended to monitor thread priority. |
GetTcb | Purpose Allows access to the local memory of the current thread (TLS of the current thread). Parameters - [out]
va – pointer to the local memory of the current thread. - [out]
rc – return code.
| N/A |
SetTls | Purpose Defines the base address of the local memory of the current thread (TLS of the current thread). Parameters - [in]
va – pointer to the local memory of the current thread. - [out]
rc – return code.
| N/A |
Sleep | Purpose Locks the current thread for the specified duration. Parameters - [in]
mdelay – thread lockout duration (in milliseconds). - [out]
rc – return code.
| N/A |
GetInfo | Purpose Lets you get information about a thread. Parameters - [in]
tid – thread ID (TID). - [out]
info – structure containing information about the thread. - [out]
rc – return code.
| N/A |
DetachIrq | Purpose Detaches the current thread from the interrupt handled in its context. Parameters | N/A |
GetAffinity | Purpose Lets you get a thread affinity mask. Parameters - [in]
tid – thread ID (TID). - [out]
mask – thread affinity mask. - [out]
rc – return code.
| N/A |
SetAffinity | Purpose Defines a thread affinity mask. Parameters - [in]
tid – thread ID (TID). - [in]
mask – thread affinity mask. - [out]
rc – return code.
| N/A |
SetSchedPolicy | Purpose Defines the thread scheduler class. Parameters - [in]
tid – thread ID (TID). - [in]
policy – value defining the thread scheduler class. - [in]
priority – value defining the thread priority. - [in]
param – union containing parameters of a thread scheduler class. - [out]
rc – return code.
| Allows the following: - Convert a thread into a real-time thread that takes up all the CPU time from all other threads, including from other processes (it is recommended to monitor the thread scheduler class).
- Elevate the priority of a thread to reduce the CPU time available to all other threads, including from other processes (it is recommended to monitor thread priority).
|
GetSchedPolicy | Purpose Lets you get information about the thread scheduler class. Parameters - [in]
tid – thread ID (TID). - [out]
policy – value indicating the thread scheduler class. - [out]
priority – value indicating the thread priority. - [out]
param – union containing parameters of a thread scheduler class. - [out]
rc – return code.
| N/A |