diff --git a/src/queue/MtInQueue.hpp b/src/queue/MtInQueue.hpp index 1148893..d532c09 100644 --- a/src/queue/MtInQueue.hpp +++ b/src/queue/MtInQueue.hpp @@ -43,7 +43,7 @@ class MtInQueue ElePair pop(); // high performance template shared_ptr pop() { return static_pointer_cast(pop().first); } - void mt_wakeMainFn() { if (mt_wakeMainFn_ != nullptr) mt_wakeMainFn_(); } + void mt_wakeMainFn() { if (mt_wakeMainFn_) mt_wakeMainFn_(); } size_t mt_size(); size_t mt_clear(); diff --git a/ut/queue/MtInQueueTest.cpp b/ut/queue/MtInQueueTest.cpp index 05342f4..1693366 100644 --- a/ut/queue/MtInQueueTest.cpp +++ b/ut/queue/MtInQueueTest.cpp @@ -45,6 +45,14 @@ struct MtInQueueTest : public Test, public UniLog }; #define FIFO +TEST_F(MtInQueueTest, GOLD_simple_fifo_without_waker) +{ + MtInQueue mtQ; + mtQ.mt_push(make_shared(1)); + mtQ.mt_push(make_shared(2)); + EXPECT_EQ(1, *(mtQ.pop())) << "REQ: fifo"; + EXPECT_EQ(2, *(mtQ.pop())) << "REQ: fifo"; +} TEST_F(MtInQueueTest, GOLD_sparsePush_fifo) { const int nMsg = 10000;