Results 153 comments of Cameron

Should be fixed if you have glibc 2.30+ available.

`pthread_cond_t` is a condition variable. It can be used to implement a semaphore but it's not as efficient. I'll see if I can add an optional alternative implementation that uses...

That shouldn't happen. Please provide a more complete example program. Are you sure only one thread is enqueuing?

That explains it then -- different threads will be mapped to different sub-queues internally, with no guarantee of any ordering between them (see the README). Since you seem to have...

Seems reasonable. In the meantime: ```sh cd tests/unittests make run ```

If simply adding the unused queue member to your class causes this bug, as seen in the video, then there's almost certainly undefined behaviour elsewhere in your program, unrelated to...

First, `std::optional` didn't exist when I wrote this code. While I agree this can be awkward, the reverse might also be true, with some types expensive to move-construct but cheap...

Offering both APIs would mean copying a lot of code, and I do like C++11 as a baseline. I'll have to think about it.

Not sure I understand why the worker threads can't allocate their tokens when starting up. Also, would you really need an object pool or would an array with an atomically-incremented...

The internal list of producers is add-only in order to remain thread-safe. The worst case applies regardless of whether the producer is active or not; a producer could be attached...