PxTaskForceTemination()

Terminate a task.

APPLIES TO

1.0.0

SYNOPSIS
PxError_t PxTaskForceTermination (PxTask_t TaskId);
ARGUMENTS
TaskId

Id of the task to terminate

RETURN VALUES
  • PXROS error code

ERROR CODES

PXERR_TASK_ILLPRIV

The calling task is not the creator

PXERR_TASK_ILLTASK

The TaskId is illegal

PXERR_ACCESS_RIGHT

The calling task has not the right to terminate other tasks

DESCRIPTION

If the caller is the creator of the task to terminate, the task will be forced to call PxTerminate for self destruction. If the task is waiting elsewhere it will be activated to terminate immediatly.

IMPLEMENTATION GUIDELINES
Before call
  • The parameter TaskId must be a valid task object id. This id may be

    • the return value of a PxTaskCreate() call (V)

    • the result of a nameserver query (V)

    • part of a message sent by another task (V)

  • Additionally the task id may be checked with PxTaskCheck() (F).The task object must be created on the same core as the caller runs on. The creator core id can be read with the macro PxTaskCoreId and the own core id with PxGetCoreId (C).

After call
  • The function returns PXERR_NOERROR if the task could be terminated. Any other return value describes an error, which has to be interpreted (C).

Best Practice
  • No restrictions.

SEE ALSO
USAGE
#include "pxdef.h"

PxError_t err = PxTaskForceTermination(taskId);

if (err != PXERR_NOERROR) {
    // Report error
}