On Wed, Nov 2, 2011 at 1:34 PM, Iain Duncan <iainduncanlists(a)gmail.com> wrote:
Does that sound more feasible? BTW, excuse my
ignorance, but what is RCU?
Yes, that's certainly feasible. RCU = Read-Copy-Update is a software
pattern for dealing with situations where you need to update a complex
data structure while it is in use. The general approach is to make a
copy, modify the copy, and the atomically (normally) swap a pointer to
the original for a pointer to the new one. somehow you have to clean
up the old one.
you won't find this written up in any texts on programming, i think.
its in wide use in the linux kernel, and there have been attempts to
create some general purpose user space libraries that do it too. my
own sense is that almost every implementation of RCU will end up being
incredibly context (app) dependent. we use it a lot in ardour. its
quite complex.