| 484 | |
| 485 | template<typename TDatums, typename TQueue> |
| 486 | bool QueueBase<TDatums, TQueue>::pop() |
| 487 | { |
| 488 | try |
| 489 | { |
| 490 | if (mPopIsStopped || mTQueue.empty()) |
| 491 | return false; |
| 492 | |
| 493 | mTQueue.pop(); |
| 494 | mConditionVariable.notify_all(); |
| 495 | return true; |
| 496 | } |
| 497 | catch (const std::exception& e) |
| 498 | { |
| 499 | error(e.what(), __LINE__, __FUNCTION__, __FILE__); |
| 500 | return false; |
| 501 | } |
| 502 | } |
| 503 | |
| 504 | template<typename TDatums, typename TQueue> |
| 505 | void QueueBase<TDatums, TQueue>::updateMaxPoppersPushers() |