RTEMS ITRON 3.0 API User's Guide
ER set_flg( ID flgid, UINT setptn );
E_OK
- Normal Completion
E_ID
- Invalid ID number (flgid was invalid or could not be used)
E_NOEXS
- Object does not exist (the eventflag specified by flgid
does not exist)
E_OACV
- Object access violation (A flgid less than -4 was
specified from a user task. This is implementation dependent.)
EN_OBJNO
- An object number which could not be accessed on the
target node is specified.
EN_CTXID
- Specified an object on another node when the system call
was issued from a task in dispatch disabled state or from a
task-independent portion
EN_PAR
- A value outside the range supported by the target node
and/or transmission packet format was specified as a parameter (a value
outside supported range was specified for setptn or clrptn)
The set_flg
system call sets the bits specified by setptn
of the
one word eventflag specified by flgid
. In other words, a logical
sum is taken for the values of the eventflag specified by flgid
with the
value of setptn
.
If the eventflag value is changed by set_flg
and the new eventflag
value satisfies the condition to release the WAIT state of the task which
issued wai_flg
on the eventflag, the WAIT state of that task will
be released and the task will be put into RUN or READY state (or SUSPEND
state if the task was in WAIT-SUSPEND).
Nothing will happen to the target eventflag if all bits of setptn
are specified as 0 with set_flg
. No error will result in either
case.
Multiple tasks can wait for a single eventflag if that eventflags has the
TA_WMUL
attribute. This means that even eventflags can make queues
for tasks to wait on. When such eventflags are used, a single
set_flg
call may result in the release of multiple waiting tasks.
In this case, the order of tasks on the ready queue after the WAIT state
is cleared is preserved for tasks having the same priority.
Multiprocessing is not supported. Thus none of the "EN_
" status
codes will be returned.
RTEMS ITRON 3.0 API User's Guide
Copyright © 1988-2007OAR Corporation