TASK_$RELEASE Domain/OS TASK_$RELEASE
NAME
task_$release - release a task and report
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/task.h>
void task_$release(
task_$handle_t task_handle,
status_$t *completion_status,
long *output_value,
status_$t *status)
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/task.ins.pas';
procedure task_$release(
in task_handle: task_$handle_t;
out completion_status: status_$t;
out output_value: integer32;
out status: status_$t);
DESCRIPTION
Task_$release returns the completion status and output value of the task
identified by task_handle, and then terminates the task. It may be
called only if the task was created with a completion eventcount.
task_handle
A task handle.
completion_status
The completion status of the task identified by task_handle. If the
task completed because it received a fault signal it couldn't han-
dle, completion_status will be the fault code received. Otherwise,
completion_status will be status_$ok unless the task changed it by
calling task_$set_result.
output_value
The output value of the task identified by task_handle. The task's
output value will be 0 unless the task changed it by calling
task_$set_result.
status
The completion status. If task_$release is called before the task
has completed, it returns with a completion status of
task_$not_completed, and completion_status and output_value are
undefined. In general, task_$release should not be called until the
completion eventcount of the task specified by task_handle is
advanced.
SEE ALSO
task_$create, task_$exit, task_$get_ec, task_$set_result.