procedure Task_Variable_Get ( ID : in RTEMS.ID; Task_Variable : out RTEMS.Address; Task_Variable_Value : out RTEMS.Address; Result : out RTEMS.Status_Codes );
RTEMS.SUCCESSFUL
- per task variable added successfully
RTEMS.INVALID_ADDRESS
- task_variable
is NULL
RTEMS.INVALID_ADDRESS
- task_variable_value
is NULL
RTEMS.INVALID_ADDRESS
- task_variable
is not found
RTEMS.NO_MEMORY
- invalid task id
RTEMS.ILLEGAL_ON_REMOTE_OBJECT
- not supported on remote tasks
This directive looks up the private value of a task variable for a specified task and stores that value in the location pointed to by the result argument. The specified task is usually not the calling task, which can get its private value by directly accessing the variable.
If you change memory which task_variable_value
points to,
remember to declare that memory as volatile, so that the compiler
will optimize it correctly. In this case both the pointer
task_variable_value
and data referenced by task_variable_value
should be considered volatile.
Copyright © 1988-2007OAR Corporation