2005/10/30, Lars Luthman <larsl(a)users.sourceforge.net>et>:
It depends on how detailed information you want in the
non-RT thread. If
you just want to say "something happened!" you can use a counter of a
datatype that you know is read and written atomically (int usually
works) and increase it every time something happens. The non-RT thread
can then compare the counter's value to the value it had last time it
looked at it, and if it's different it knows that something has
happened.
This would imply busy waiting, right?
related question, what happens if I use the lockfree ringbuffer, and
the non-realtime-thread tries to access it while it's full, how do I
know when to try again?
BTW. @all: thx for all the detailed answers.
-Richard