-
rel_mpl
-
Release variable-sized memory block.
ER rel_mpl (ID mplid, VP blk);
|
|
|
|
ID mplid;
|
ID number of the variable-sized memory pool.
|
|
VP blk;
|
Start address of memory block to be released.
|
This service call returns the variable-sized memory block specified by parameter
blk to the variable-sized memory pool specified by parameter
mplid.
After returning the variable-size memory blocks, these service calls check the tasks queued to the target variable-size memory pool wait queue from the top, and assigns the memory if the size of memory requested by the wait queue is available. This operation continues until no tasks queued to the wait queue remain or no memory space is available. As a result, the task that acquired the memory is unlinked from the queue and moved from the WAITING state (variable-size memory block acquisition wait state) to the READY state, or from the WAITING-SUSPENDED state to the SUSPENDED state.
Note The RI600PX do only simple error detection for
blk. If
blk is illegal and the error is not detected, the operation is not guaranteed after that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- This service call was issued in the CPU locked state.
- This service call was issued from non-task.
- This service call was issued in the status "PSW.IPL > kernel interrupt mask level".
|
|
|
- Stack pointer points out of user stack for invoking task.
|
|
|
- The variable-sized memory pool specified by mplid does not exist.
|