2011/11/4 Paul Davis <p...@linuxaudiosystems.com>: > On Fri, Nov 4, 2011 at 1:16 PM, Emanuel Rumpf <xb...@web.de> wrote: > >> While this is restrictive, in the way you mention, I think it's a >> welcome simplification >> ( compared to implementing a real-time-capable-linked-list + other >> rt-structures ), >> if your use-case doesn't require direct calls to the list (for any reason), >> then you could request insert/remove/update operations through the >> rt-ring-buffer. > > you can't perform insert/remove/update operations on a "normal" linked > list in an RT thread. >
Right. What I meant is: to enqueue the required operations in a realtime-queue (ringbuffer), then read that queue from a non-rt thread in order to update the non-rt list. This implies OTOH, that list-actions take place with a delay (at least not instantly), but may work in some situations, e.g. recording an audio stream. @ Iain and others Before you start to implement your own, which can take as much time as your whole project ... Here is a list of some libs I found, that implement lock-free structures, STM, etc. http://wiki.linuxaudio.org/wiki/programming_libraries#lockfree_non-blocking_data_structures_-_libraries If anything is missing, let me know, or edit yourself. -- E.R. _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev