On Mon, Feb 27, 2012 at 8:04 AM, Fons Adriaensen <[email protected]> wrote: > On Mon, Feb 27, 2012 at 09:59:19AM +0100, Nick Copeland wrote: > >> Both of these methods are affectively the same, what you are trying to do is >> provide >> a method that the low prio thread is responsible for both malloc and free. > > That's a nice method, it effectively uses the LFQ to 'send back' an item after > use by the recipient. It depends on the particular implementation of the > queue, > you need one that allows to read one (or more if necessary) items without > moving > the read pointer - that should be done only after the data has been used since > it signals that the data can be freed. > > The alternative is to make this explicit, by having two pairs of indices > operate on the same buffer: [SNIP]
Why not just use 2 ringbuffers: one to send pointers to the RT thread, and a second to send them back to the low prio thread (so it can free them). You probably need a semaphore for the return ringbuffer, but that should be RT-safe. _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
