ルネサス
wai_sem 概要 資源の獲得 C言語形式 ER wai_sem ( ID semid ); パラメータ I/O パラメータ 説明 I ID semid; セマフォのID 機能 semidで指定されたセマフォから資源を獲得(セマフォ・カウンタから0x1を減算)します。 ただし,本サービス・コールを発行した際,対象セマフォから資源を獲得することができなかった(空き資源が存在しなかった)場合には,資源の獲得は行わず,自タスクを対象セマフォの待ちキューにキューイングしたのち,RUNNING状態からWAITING状態(資源獲得待ち状態)へと遷移させます。 なお,資源獲得待ち状態の解除は,以下の場合に行われ,資源獲得待ち状態からREADY状態へと遷移します。 資源獲得待ち状態の解除操作 エラー・コード sig_semの発行により,対象セマフォに資源が返却された E_OK isig_semの発行により,対象セマフォに資源が返却された E_OK rel_waiの発行により,資源獲得待ち状態を強制的に解除された E_RLWAI irel_waiの発行により,資源獲得待ち状態を強制的に解除された E_RLWAI 備考 自タスクを対象セマフォの待ちキューにキューイングする際のキューイング方式は,コンフィギュレーション時に定義された順(FIFO順,優先度順)に行われます。 戻り値 マクロ 数値 意味 E_OK 0 正常終了 E_ID -18 IDの指定が不正である - semid≦0x0 - semid>生成されているセマフォの最大ID E_CTX -25 コンテキスト・エラー - 非タスクから本サービス・コールを発行した - CPUロック状態から本サービス・コールを発行した - ディスパッチ禁止状態から本サービス・コールを発行した E_NOEXS -42 対象セマフォが生成されていない E_RLWAI -49 rel_wai,またはirel_waiの発行により,資源獲得待ち状態を強制的に解除された
ER wai_sem ( ID semid );
ID semid;