act_tsk

iact_tsk

Outline

Activate task (queues an activation request).

C format

 ER      act_tsk (ID tskid);
 ER      iact_tsk (ID tskid);
Parameter(s)

I/O

Parameter

Description

I

 ID      tskid;
ID number of the task.

TSK_SELF: Invoking task.

Value: ID number of the task.



Explanation

These service calls move the task specified by parameter tskid from the DORMANT state to the READY state.

As a result, the target task is queued at the end on the ready queue corresponding to the initial priority and becomes subject to scheduling by the RI600V4.

At this time, the following processing is done.

Table 18-2 Processing Performed at Task Activation

No.

Content of processing

1

Initializes the task's base priority and current priority.

2

Clears the number of queued walk-up requests.

3

Clears the number of nested suspension count



If the target task has been moved to a state other than the DORMANT state when this service call is issued, this service call does not move the state but increments the activation request counter (by added 1 to the activation request counter).

Note 1 The activation request counter managed by the RI600V4 is configured in 8-bit widths. If the number of activation requests exceeds the maximum count value 255 as a result of issuing this service call, the counter manipulation processing is therefore not performed but "E_QOVR" is returned.

Note 2 Extended information specified in Task Information (task[]) is passed to the task activated by issuing these service calls.

Return value

Macro

Value

Description

E_OK

0

Normal completion.

E_ID

-18

Invalid ID number.

- tskid < 0

- tskid > VTMAX_TSK

- When iact_tsk was issued from a non-task, TSK_SELF was specified for tskid.

E_CTX

-25

Context error.

- This service call was issued in the CPU locked state.

- The iact_tsk was issued from task.

- The act_tsk was issued from non-task.

- This service call was issued in the status "PSW.IPL > kernel interrupt mask level".

E_QOVR

-43

Queue overflow.

- Activation request count exceeded 255.