void wait_and_pop()

in src/outmdsd/ConcurrentQueue.h [79:88]


    void wait_and_pop(T& value)
    {
        std::unique_lock<std::mutex> lk(mut);
        data_cond.wait(lk,[this]{ return (!data_queue.empty() || stopOnceEmpty);});
        if (data_queue.empty() && stopOnceEmpty) {
            return;
        }
        value = data_queue.front();
        data_queue.pop();
    }