tget_mpf
ER tget_mpf (ID mpfid, VP *p_blk, TMO tmout);
This service call acquires the fixed-sized memory block from the fixed-sized memory pool specified by parameter mpfid and stores the start address in the area specified by parameter p_blk.
If no fixed-size memory blocks could be acquired from the target fixed-size memory pool (no available fixed-size memory blocks exist) when this service call is issued, this service call does not acquire the fixed-size memory block but queues the invoking task to the target fixed-size memory pool wait queue and moves it from the RUNNING state to the WAITING state with timeout (fixed-size memory block acquisition wait state).
The WAITING state for a fixed-sized memory block is cancelled in the following cases, and then moved to the READY state.
A fixed-sized memory block was returned to the target fixed-sized memory pool as a result of issuing rel_mpf.
|
|
A fixed-sized memory block was returned to the target fixed-sized memory pool as a result of issuing irel_mpf.
|
|
Note 1 The RI850V4 does not perform memory clear processing when acquiring a fixed-sized memory block. The contents of the acquired fixed-sized memory block are therefore undefined.
Note 2 If no fixed-sized memory blocks can be acquired from the target fixed-sized memory pool (no available fixed-sized memory blocks exist) when this service call is issued, the contents in the area specified by parameter p_blk become undefined.
Note 3 If the fixed-size memory block acquisition wait state is cancelled because rel_wai or irel_wai was issued or the wait time elapsed, the contents in the area specified by parameter p_blk become undefined.
Note 4 TMO_FEVR is specified for wait time tmout, processing equivalent to get_mpf will be executed. When TMO_POL is specified, processing equivalent to pget_mpf /ipget_mpf will be executed.