rtapi_task_pause, rtapi_task_resume − pause and resume real-time tasks
void rtapi_task_pause(int task_id) |
||
void rtapi_task_resume(int task_id) |
task_id
An RTAPI task identifier returned by an earlier call to rtapi_task_new.
rtapi_task_resume starts a task in free-running mode. The task must be in the "paused" state.
A free running task runs continuously until either:
1) |
It is prempted by a higher priority task. It will resume as soon as the higher priority task releases the CPU. | ||
2) |
It calls a blocking function, like rtapi_sem_take. It will resume when the function unblocks. | ||
3) |
It is returned to the "paused" state by rtapi_task_pause. May be called from init/cleanup code, and from within realtime tasks. |
rtapi_task_pause causes a task to stop execution and change to the "paused" state. The task can be free-running or periodic. Note that rtapi_task_pause may called from any task, or from init or cleanup code, not just from the task that is to be paused. The task will resume execution when either rtapi_task_resume or rtapi_task_start (depending on whether this is a free-running or periodic task) is called.
May be called from init/cleanup code, and from within realtime tasks.
An RTAPI status code.
rtapi_task_new(3rtapi), rtapi_task_start(3rtapi)