Everything

rel_mpf

irel_mpf

概要
固定長メモリ・ブロックの返却
C言語形式
 

 ER      rel_mpf ( ID mpfid, VP blk );
 ER      irel_mpf ( ID mpfid, VP blk );
パラメータ
I/O
パラメータ
説明
I
 ID      mpfid;
固定長メモリ・プールのID
I
 VP      blk;
固定長メモリ・ブロックの先頭アドレス

機能
mpfidで指定された固定長メモリ・プールにblkで指定された固定長メモリ・ブロックを返却します。
ただし,本サービス・コールを発行した際,対象固定長メモリ・プールの待ちキューにタスクがキューイングされていた場合には,固定長メモリ・ブロックの返却は行わず,該当タスク(待ちキューの先頭タスク)に固定長メモリ・ブロックを渡します。これにより,該当タスクは,待ちキューから外れ,WAITING状態(固定長メモリ・ブロック獲得待ち状態)からREADY状態へ,またはWAITING-SUSPENDED状態からSUSPENDED状態へと遷移します。
備考1 RI850V4では,固定長メモリ・ブロックを返却する際,メモリ・クリア処理を行っていません。したがって,返却された固定長メモリ・ブロックの内容は不定となります。
備考2 固定長メモリ・ブロックを返却する際は,必ず獲得した固定長メモリ・プールに対して本サービス・コールを発行してください。異なる固定長メモリ・プールに対して本サービス・コールを発行してもエラーにはなりませんが,以後の動作は保証されません。
戻り値
マクロ
数値
意味
E_OK
0
正常終了
E_ID
-18
IDの指定が不正である
- mpfid≦0x0
- mpfid>生成されている固定長メモリ・プールの最大ID
E_CTX
-25
CPUロック状態から本サービス・コールを発行した
E_NOEXS
-42
対象固定長メモリ・プールが生成されていない