ルネサス
chg_pri ichg_pri 概要 タスク優先度の変更 C言語形式 ER chg_pri ( ID tskid, PRI tskpri ); ER ichg_pri ( ID tskid, PRI tskpri ) パラメータ I/O パラメータ 説明 I ID tskid; タスクのID TSK_SELF: 自タスク 数値: タスクのID I PRI tskpri; タスクの優先度 TPRI_INI: タスクの初期優先度 数値: タスクの優先度 機能 tskidで指定されたタスクの優先度(現在優先度)をtskpriで指定された値に変更します。 対象タスクがRUNNING状態,またはREADY状態であった場合には,優先度を変更したのち,対象タスクをtskpriで指定された優先度に応じたレディ・キューの最後尾につなぎかえます。 備考 対象タスクが何らかの待ちキューに優先度順でキューイングされていた場合,本サービス・コールの発行により,待ち順序が変わることがあります。 例 セマフォの待ちキューに3つのタスク(タスクA:優先度10,タスクB:優先度11,タスクC:優先度12)が優先度順でキューイングされているとき,タスクBの優先度を11から9に変更した場合,待ちキューの待ち順序は,以下のように変更されます。 戻り値 マクロ 数値 意味 E_OK 0 正常終了 E_PAR -17 優先度の指定が不正である - tskpri<0x0 - tskpri>最大タスク優先度 E_ID -18 IDの指定が不正である - tskid<0x0 - tskid>生成されているタスクの最大ID - 非タスクから本サービス・コールを発行した際,tskidにTSK_SELFを指定した E_CTX -25 CPUロック状態から本サービス・コールを発行した E_OBJ -41 対象タスクがDORMANT状態である E_NOEXS -42 対象タスクが生成されていない
ER chg_pri ( ID tskid, PRI tskpri );
ER ichg_pri ( ID tskid, PRI tskpri )
ID tskid;
PRI tskpri;