47 lines
1.5 KiB
Text
47 lines
1.5 KiB
Text
.TH rtapi_task_pause "3rtapi" "2006-10-12" "LinuxCNC Documentation" "RTAPI"
|
|
.SH NAME
|
|
|
|
rtapi_task_pause, rtapi_task_resume \- pause and resume real-time tasks
|
|
|
|
.SH SYNTAX
|
|
.HP
|
|
void rtapi_task_pause(int \fItask_id\fR)
|
|
.HP
|
|
void rtapi_task_resume(int \fItask_id\fR)
|
|
|
|
.SH ARGUMENTS
|
|
.IP \fItask_id\fR
|
|
An RTAPI task identifier returned by an earlier call to \fBrtapi_task_new\fR.
|
|
.SH DESCRIPTION
|
|
\fBrtapi_task_resume\fR starts a task in free-running mode.
|
|
The task must be in the "paused" state.
|
|
|
|
A free running task runs continuously until either:
|
|
.IP 1)
|
|
It is prempted by a higher priority task. It will resume as soon as the higher
|
|
priority task releases the CPU.
|
|
.IP 2)
|
|
It calls a blocking function, like \fBrtapi_sem_take\fR. It will resume when
|
|
the function unblocks.
|
|
.IP 3)
|
|
It is returned to the "paused" state by \fBrtapi_task_pause\fR. May be called
|
|
from init/cleanup code, and from within realtime tasks.
|
|
|
|
|
|
|
|
\fBrtapi_task_pause\fR causes a task to stop execution and change
|
|
to the "paused" state. The task can be free-running or periodic.
|
|
Note that \fBrtapi_task_pause\fR 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 \fBrtapi_task_resume\fR or
|
|
\fBrtapi_task_start\fR (depending on whether this is a free-running or periodic task) is called.
|
|
|
|
|
|
.SH REALTIME CONSIDERATIONS
|
|
May be called from init/cleanup code, and from within realtime tasks.
|
|
|
|
.SH RETURN VALUE
|
|
An RTAPI status code.
|
|
|
|
.SH SEE ALSO
|
|
\fBrtapi_task_new(3rtapi)\fR, \fBrtapi_task_start(3rtapi)\fR
|