<div>Thanks guys, that's very helpful. I'll no doubt have further questions once I get to prototyping that part. Paul, if you could let me know where to look for examples in the ardour code that would be cool too.</div>
<div><br></div><div>thanks</div><div>iain</div><br><div class="gmail_quote">On Wed, Nov 2, 2011 at 10:45 AM, Jeff Koftinoff <span dir="ltr"><<a href="mailto:jeffk@jdkoftinoff.com">jeffk@jdkoftinoff.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">A good starting point for reading is on Software Transactional Memory (STM):<br>
        <a href="http://en.wikipedia.org/wiki/Software_transactional_memory" target="_blank">http://en.wikipedia.org/wiki/Software_transactional_memory</a><br>
<br>
Jeff<br>
<div><div class="h5"><br>
On 2011-11-02, at 10:40 AM, Paul Davis wrote:<br>
<br>
> On Wed, Nov 2, 2011 at 1:34 PM, Iain Duncan <<a href="mailto:iainduncanlists@gmail.com">iainduncanlists@gmail.com</a>> wrote:<br>
><br>
>> Does that sound more feasible? BTW, excuse my ignorance, but what is RCU?<br>
><br>
> Yes, that's certainly feasible. RCU = Read-Copy-Update is a software<br>
> pattern for dealing with situations where you need to update a complex<br>
> data structure while it is in use. The general approach is to make a<br>
> copy, modify the copy, and the atomically (normally) swap a pointer to<br>
> the original for a pointer to the new one. somehow you have to clean<br>
> up the old one.<br>
><br>
> you won't find this written up in any texts on programming, i think.<br>
> its in wide use in the linux kernel, and there have been attempts to<br>
> create some general purpose user space libraries that do it too. my<br>
> own sense is that almost every implementation of RCU will end up being<br>
> incredibly context (app) dependent. we use it a lot in ardour. its<br>
> quite complex.<br>
</div></div>> _______________________________________________<br>
> Linux-audio-dev mailing list<br>
> <a href="mailto:Linux-audio-dev@lists.linuxaudio.org">Linux-audio-dev@lists.linuxaudio.org</a><br>
> <a href="http://lists.linuxaudio.org/listinfo/linux-audio-dev" target="_blank">http://lists.linuxaudio.org/listinfo/linux-audio-dev</a><br>
<br>
</blockquote></div><br>