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