> > 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
