-
pol_flg
ipol_flg
-
Wait for eventflag (polling).
ER pol_flg (ID flgid, FLGPTN waiptn, MODE wfmode, FLGPTN *p_flgptn);
ER ipol_flg (ID flgid, FLGPTN waiptn, MODE wfmode, FLGPTN *p_flgptn);
|
|
|
|
ID flgid;
|
ID number of the eventflag.
|
|
FLGPTN waiptn;
|
|
|
MODE wfmode;
|
|
|
FLGPTN *p_flgptn;
|
Bit pattern causing a task to be released from waiting.
|
This service call checks whether the bit pattern specified by parameter
waiptn and the bit pattern that satisfies the required condition specified by parameter
wfmode are set to the eventflag specified by parameter
flgid.
If the bit pattern that satisfies the required condition has been set to the target eventflag, the bit pattern of the target eventflag is stored in the area specified by parameter
p_flgptn.
If the bit pattern of the target eventflag does not satisfy the required condition when this service call is issued, "E_TMOUT" is returned.
The following shows the specification format of required condition
wfmode.
-
wfmode ==
TWF_ANDW
Checks whether all of the bits to which 1 is set by parameter
waiptn are set as the target eventflag.
-
wfmode ==
TWF_ORW
Checks which bit, among bits to which 1 is set by parameter
waiptn, is set as the target eventflag.
Note 1 With the RI600PX, whether to enable queuing of multiple tasks to the event flag wait queue is defined during configuration. If this service call is issued for the event flag (
TA_WSGL attribute) to which a wait task is queued, therefore, "E_ILUSE" is returned regardless of whether the required condition is immediately satisfied.
TA_WSGL: Only one task is allowed to be in the WAITING state for the eventflag.
TA_WMUL: Multiple tasks are allowed to be in the WAITING state for the eventflag.
Note 2 The RI600PX performs bit pattern clear processing (0 setting) when the required condition of the target eventflag (
TA_CLR attribute) is satisfied.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- This service call was issued in the CPU locked state.
- This service call was issued in the status "PSW.IPL > kernel interrupt mask level".
Note When the ipol_flg is issued from task or the pol_flg is issued from non-task, the context error is not detected and normal operation of the system is not guaranteed.
|
|
|
Memory access violation. (only for pol_flg)
- The operand-write access to the area indicated by p_flgptn has not been permitted to the invoking task.
|
|
|
Illegal use of service call.
- There is already a task waiting for an eventflag with the TA_WSGL attribute.
|
|
|
- The eventflag specified by flgid does not exist.
|
|
|
|