ext_tsk

概要

自タスクの終了

C言語形式

 void    ext_tsk ( void );
パラメータ

なし

機能

自タスクをRUNNING状態からDORMANT状態へと遷移させ,レディ・キューから外します。これにより,自タスクは,RI600PXのスケジューリング対象から除外されます。また,このとき以下に示す処理が行われます。

表19−4  タスク終了時に行われる処理

No

処理内容

1

終了するタスクがロックしていたミューテックスをロック解除する。(unl_mtxと同等の処理)



また,CPUロック状態とディスパッチ禁止状態は解除されます。

本サービス・コールを発行した際,自タスクの起動要求がキューイングされていた(起動要求カウンタ > 0)場合には,自タスクの起動(DORMANT状態からREADY状態への状態遷移処理)もあわせて行われます。このとき表19−3に示す処理が行われます。

本サービス・コールは,呼び出し元には戻りません。以下の場合,システム・ダウンとなります。

- 非タスクから本サービス・コールを発行した。

- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。

備考1 タスク開始関数でreturn命令が発行された場合,本サービス・コールと同等の処理が行われます。

備考2 本サービス・コールは,タスクが占有していたミューテックス以外の資源(セマフォやメモリ・ブロックなど)を自動的に解放する機能はありません。タスクは,必ず終了する前に資源の解放を行ってください。

戻り値

なし