Everything

ter_tsk

概要
タスクの強制終了
C言語形式
 ER      ter_tsk ( ID tskid );
パラメータ
I/O
パラメータ
説明
I
 ID      tskid;
タスクのID

機能
tskidで指定されたタスクを強制的にDORMANT状態へと遷移させます。これにより,対象タスクは,RI600PXのスケジューリング対象から除外されます。また,このとき表19-4に示す処理が行われます。
本サービス・コールを発行した際,対象タスクの起動要求がキューイングされていた(起動要求カウンタ > 0)場合には,対象タスクの状態操作(DORMANT状態への状態遷移処理)を行ったのち,対象タスクの起動(DORMANT状態からREADY状態への状態遷移処理)もあわせて行われます。このとき表19-3に示す処理が行われます。
備考 本サービス・コールは,タスクが占有していたミューテックス以外の資源(セマフォやメモリ・ブロックなど)を自動的に解放する機能はありません。タスクは,必ず終了する前に資源の解放を行ってください。
戻り値
マクロ
数値
意味
E_OK
0
正常終了
E_ID
-18
不正ID番号
- tskid≦0
- tskid > VTMAX_TSK
E_CTX
-25
コンテキスト・エラー
- CPUロック状態から本サービス・コールを発行した。
- 非タスクから本サービス・コールを発行した。
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
E_MACV
-26
メモリ・アクセス違反
- スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。
E_ILUSE
-28
サービス・コール不正使用
- 対象タスクが自タスクである。
E_OBJ
-41
オブジェクト状態エラー
- 対象タスクがDORMANT状態である。
E_NOEXS
-42
オブジェクト未生成
- tskidのタスクが存在しない。