set_flg

iset_flg

概要

ビット・パターンのセット

C言語形式

 ER      set_flg ( ID flgid, FLGPTN setptn );
 ER      iset_flg ( ID flgid, FLGPTN setptn );


パラメータ

I/O

パラメータ

説明

I

 ID      flgid;
イベントフラグのID

I

 FLGPTN  setptn;
セットするビット・パターン



機能

flgidで指定されたイベントフラグのビット・パターンとsetptnで指定されたビット・パターンの論理和ORをとり,その結果を対象イベントフラグにセットします。

なお,本サービス・コールを発行した際,対象イベントフラグの待ちキューにキューイングされているタスクの要求条件を満足した場合には,ビット・パターンのセット(論理和ORの設定処理)とともに,該当タスクを待ちキューから外します。これにより,該当タスクは,WAITING状態(イベントフラグ待ち状態)からREADY状態へ,またはWAITING-SUSPENDED状態からSUSPENDED状態へと遷移します。

備考1 本サービス・コールを発行した際,対象イベントフラグのビット・パターンがB'1100,setptnで指定されたビット・パターンがB'1010であった場合には,対象イベントフラグのビット・パターンはB'1110となります。

備考2 対象イベントフラグにTA_WMUL属性が指定されていた場合,“本サービス・コールの発行に伴い要求条件を満足したか否か”の判定対象となるタスクは,TA_CLR属性も指定されているか否かにより異なります。

- “指定あり”の場合
待ちキューにキューイングされている先頭タスクから要求条件を満足したタスクまでが判定対象となります。


- “指定なし”の場合
待ちキューにキューイングされている全タスクが判定対象となります。


戻り値

マクロ

数値

意味

E_OK

0

正常終了

E_ID

-18

IDの指定が不正である

- flgid≦0x0

- flgid>生成されているイベントフラグの最大ID

E_CTX

-25

CPUロック状態から本サービス・コールを発行した

E_NOEXS

-42

対象イベントフラグが生成されていない