News for hackers. Stuff that matters.
Re:Yes, You Have Been Writing SPSC Queues Wrong by alfalfasprout on Thursday December 15, 2016 @01:25PM (#13186822)
Depends how you use it. For buffering realtime data if latency is of chief concern then by all means, discard the old stuff. If the desired behavior is to block when the queue is full, then you need to check for an overlap.
Re:Yes, You Have Been Writing SPSC Queues Wrong by loeg on Thursday December 15, 2016 @02:32PM (#13187444)
If you're overwriting old data you still need to check for overlap and advance the read index if you're overrunning old data.
Re:Yes, You Have Been Writing SPSC Queues Wrong by jessaustin on Thursday December 15, 2016 @03:01PM (#13187750)
Thanks, this is what I was missing, and seems right in general. I think the old ring buffers I'm remembering just decided that reading out-of-order was a fitting punishment for not reading often enough. After all there is a bit of a race for the read index here...