Everything

dis_dsp

概要
ディスパッチ禁止状態への移行
C言語形式
 

 ER      dis_dsp ( void );
パラメータ
なし
機能
システム状態種別をディスパッチ許可状態からディスパッチ禁止状態へと変更します。これにより,本サービス・コールの発行からena_dspが発行されるまでの間,“タスクのディスパッチ処理”が抑制(禁止)されます。
なお,RI850V4では,本サービス・コールの発行からena_dspが発行されるまでの間に“タスクのディスパッチ処理”を伴うサービス・コール(chg_prisig_semなど)が発行された場合には,キュー操作,カウンタ操作などといった処理を行うだけであり,実際の“タスクのディスパッチ処理”は,ena_dspが発行されるまで遅延され,一括して行うようにしています。
備考1 本サービス・コールの発行により変更したディスパッチ禁止状態の解除は,本サービス・コールを発行したタスクがDORMANT状態へと遷移する以前に行う必要があります。
備考2 本サービス・コールでは,禁止要求のキューイングが行われません。このため,すでに本サービス・コールが発行され,システム状態種別がディスパッチ禁止状態へと変更されていた場合には,何も処理は行わず,エラーとしても扱いません。
備考3 RI850V4では,本サービス・コールの発行からena_dspが発行されるまでの間に“自タスクを状態遷移させる可能性のあるサービス・コール(wai_semwai_flgなど)”を発行した場合には,要求条件の即時成立/不成立を問わず,戻り値としてE_CTXを返します。
戻り値
マクロ
数値
意味
E_OK
0
正常終了
E_CTX
-25
コンテキスト・エラー
- 非タスクから本サービス・コールを発行した
- CPUロック状態から本サービス・コールを発行した