On Monday, 7 January 2013 14:50:21 UTC, Kiste wrote: > > Hi! > > I'd double the variables, so there's a pair for each value. Plus a flag, > which indicates which one of the pair is stable. When updating, I'd write > to the "unstable" variable, and toggle the flag afterwards. > > This is what I thought originally, and it would work in my specific case. But I'm trying to keep things general (the idea being to submit a new library and save me ever having to think it through again). It doesn't work if, for example, you have two interrupt routines which both decide to write to a variable (one after the other) while it's being read.
I think we probably need two variables, an "interruptible access locked" flag and an "I'm the most recently updated" flag. Then we have a read function and a write procedure, both of which take a flag saying "I'm being called from an interruptible context". A bunch of logic could then choose which instance is safe to access and, hopefully, do it without race conditions. It was about this point where I thought I'd ask :-) If nobody else jumps in with the blinding bit of inspiration, I'll have a bash at writing this... Cheers, Alun. -- You received this message because you are subscribed to the Google Groups "jallib" group. To view this discussion on the web visit https://groups.google.com/d/msg/jallib/-/KCGZuLwkKD0J. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/jallib?hl=en.
