rtems_status_code rtems_event_send ( rtems_id id, rtems_event_set event_in );
RTEMS_SUCCESSFUL
- event set sent successfully
RTEMS_INVALID_ID
- invalid task id
This directive sends an event set, event_in, to the task specified by id. If a blocked task's input event condition is satisfied by this directive, then it will be made ready. If its input event condition is not satisfied, then the events satisfied are updated and the events not satisfied are left pending. If the task specified by id is not blocked waiting for events, then the events sent are left pending.
Specifying RTEMS_SELF
for id results in the event set being
sent to the calling task.
Identical events sent to a task are not queued. In
other words, the second, and subsequent, posting of an event to
a task before it can perform an rtems_event_receive
has no effect.
The calling task will be preempted if it has preemption enabled and a higher priority task is unblocked as the result of this directive.
Sending an event set to a global task which does not reside on the local node will generate a request telling the remote node to send the event set to the appropriate task.
Copyright © 1988-1998 OAR Corporation