void fluke_task_set_state(fluke_task_t *task, fluke_task_state *state, fluke_ref_t *keeper_ref);
This operation sets the application-visible state of a task object.
- task
- The task whose state is to be set.
- state
- If non-null, a pointer to a structure containing the simple (non-reference) state of the task.
- keeper_ref
- If non-null, the address of a port reference object to be copied into the task's keeper port reference slot.
If any of the following errors is detected by the Fluke implementation, it causes the current thread to take a synchronous exception with one of the following codes. All of these have an implicit FLUKE_INSANITY_ prefix.
- NO_OBJECT
- task or keeper_ref does not point to an object.
- NOT_TASK
- The object pointed to by task is not a task object.
- NOT_REF
- The object at keeper_ref is not a reference object.
- NOT_PORT_REF
- The object at keeper_ref is a reference object, but not a reference to a port.
- INVALID_OBJECT
- The state of the task or reference object has become invalid.
fluke_task_get_state