>  > Thanks for the tips. What should one do if one detects a partial
> write? Is it best to have integrity checks on both ends of the ringbuffer?
>
> Avoid them.  There should be some calls for checkRingBufferWriteSpace(),
> make sure it is large enough to cater for your object size. You still have
> a few hoops and jumps to go through if the buffer is filling up but it is
> definitely going to be easier that catering for partial writes. Consider
> also logging messages when it is full and if it happens (too much or in my
> opinion at all) then look into why the reader is going too slow. If it is a
> general issue then you need to rearchitect what you are doing, if it is
> just a transient issue then bang more capacity on the ringbuffer.
>

Thanks Nick, so if I understand what you're saying, the producer should
check for sizeof(MyStruct) space before writing, and just delay writing
that message if there isn't enough space. I guess that's where I would log
that there a write failed then?

thanks
iain
_______________________________________________
Linux-audio-dev mailing list
[email protected]
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Reply via email to