Wed Nov 12 16:13:23 CET 2008
CSP style channels on Xenomai
I'm trying to use queues for something they are probably not useful
for. What I really want is CSP style channels.
There are two problems:
* A select() is necessary to wait on multiple events.
* Tasks might be too expensive for fine task granularity.
This describes the CT library from UTwente:
Q: What is the difference between waiting on a set of messages from a
single "socket", and waiting on a set of ports? Can such
descriptions be automatically transcribed?
Anyways, the event flag group services provide the necessary
An event flag group is a synchronization object represented by a
long-word structure; every available bit in such word can be used to
map a user-defined event flag. When a flag is set, the associated
event is said to have occurred. Xenomai tasks and interrupt handlers
can use event flags to signal the occurrence of events to other
tasks; those tasks can either wait for the events to occur in a
conjunctive manner (all awaited events must have occurred to wake
up), or in a disjunctive way (at least one of the awaited events
must have occurred to wake up).