On 2011-11-02, at 10:40 AM, Paul Davis wrote:
> On Wed, Nov 2, 2011 at 1:34 PM, Iain Duncan <
iainduncanlists@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.