RTEMS Logo

RTEMS 4.9.2 On-Line Library


Task Manager TASK_START - Start a task

PREV UP NEXT Bookshelf RTEMS Ada User's Guide

5.4.4: TASK_START - Start a task

CALLING SEQUENCE:

procedure Task_Start (
   ID          : in     RTEMS.ID;
   Entry_Point : in     RTEMS.Task_Entry;
   Argument    : in     RTEMS.Task_Argument;
   Result      :    out RTEMS.Status_Codes
);

DIRECTIVE 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

DESCRIPTION:

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.

NOTES:

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.


PREV UP NEXT Bookshelf RTEMS Ada User's Guide

Copyright © 1988-2008 OAR Corporation