procedure Task_Start ( ID : in RTEMS.ID; Entry_Point : in RTEMS.Task_Entry; Argument : in RTEMS.Task_Argument; Result : out RTEMS.Status_Codes );
RTEMS.SUCCESSFUL
- ask started successfully
RTEMS.INVALID_ADDRESS
- invalid task entry point
RTEMS.INVALID_ID
- invalid task id
RTEMS.INCORRECT_STATE
- task not in the dormant state
RTEMS.ILLEGAL_ON_REMOTE_OBJECT
- cannot start remote task
This directive readies the task, specified by id
, for execution
based on the priority and execution mode specified when the task
was created. The starting address of the task is given in
entry_point
. The task's starting argument is contained in
argument. This argument can be a single value or used as an index into an
array of parameter blocks. The type of this numeric argument is an unsigned
integer type with the property that any valid pointer to void can be converted
to this type and then converted back to a pointer to void. The result will
compare equal to the original pointer.
The calling task will be preempted if its preemption mode is enabled and the task being started has a higher priority.
Any actions performed on a dormant task such as suspension or
change of priority are nullified when the task is initiated via
the rtems.task_start
directive.
Copyright © 1988-2008 OAR Corporation