On 09/05/18 01:09, David Nadlinger wrote:
The algorithm isn't wait-free (haven't thought too carefully about this, though)
This mirrors a discussion I had with Maor (who originally wrote it). Let's see if I bring you around the way I was brought around.
At the API level, there are two areas where the algorithm *cannot* be wait free. If a consumer tries to consume from an empty queue, or a producer tries to produce to a full one.
Those two aside (which, as I stated above, are not dependent on the implementation), the algorithm actually is wait free.
As far as industry-grade goes, note that many of the comments have not been updated since a previous combined implementation for SPMC/MPSC was split up into two types, so there is quite a bit of stale cruft around.
Will definitely have a second look. Shachar