I am using multiple ThreadPools to process some messages. I have a ThreadPool that enqueues new tasks to another ThreadPool, basically cascading two ThreadPools.
Everything works fine in the beginning, but after a while one of the second ThreadPool's threads gets stuck oncondition.notify_one(); inside the ThreadPool::enqueue method.
I have no clue what is going on. I thought that notify_one() should never block.
Unfortunately I cannot publish the code as it's a proprietary one.
I am using multiple
ThreadPool
s to process some messages. I have a ThreadPool that enqueues new tasks to another ThreadPool, basically cascading two ThreadPools.Everything works fine in the beginning, but after a while one of the second ThreadPool's threads gets stuck on
condition.notify_one();
inside theThreadPool::enqueue
method.I have no clue what is going on. I thought that notify_one() should never block.
Unfortunately I cannot publish the code as it's a proprietary one.