Everything

ext_tsk

概要
自タスクの終了
C言語形式
 void    ext_tsk ( void );
パラメータ
なし
機能
自タスクをRUNNING状態からDORMANT状態へと遷移させ,レディ・キューから外します。これにより,自タスクは,RI600V4のスケジューリング対象から除外されます。また,このとき以下に示す処理が行われます。
表18-3  タスク終了時に行われる処理
No
処理内容
1
終了するタスクがロックしていたミューテックスをロック解除する。(unl_mtxと同等の処理)

また,CPUロック状態とディスパッチ禁止状態は解除されます。
本サービス・コールを発行した際,自タスクの起動要求がキューイングされていた(起動要求カウンタ>0)場合には,自タスクの起動(DORMANT状態からREADY状態への状態遷移処理)もあわせて行われます。このとき表18-2に示す処理が行われます。
本サービス・コールは,呼び出し元には戻りません。以下の場合,システム・ダウンとなります。
- 非タスクから本サービス・コールを発行した。
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
備考1 タスク開始関数でreturn命令が発行された場合,本サービス・コールと同等の処理が行われます。
備考2 本サービス・コールは,タスクが占有していたミューテックス以外の資源(セマフォやメモリ・ブロックなど)を自動的に解放する機能はありません。タスクは,必ず終了する前に資源の解放を行ってください。
戻り値
なし