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 RI600PX.

At this time, the following processing is done.

Table 19-3 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 wake-up requests.

3

Clears the number of nested suspension count.

4

Clears pending exception code.

5

Disables task exception



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 RI600PX 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 at creating the 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_MACV

-26

Memory access violation. (only for act_tsk)

- Stack pointer points out of user stack for invoking task.

E_NOEXS

-42

Non-existent object.

- The task specified by tskid does not exist.

E_QOVR

-43

Queuing overflow.

- Activation request count exceeded 255.