From 7e67aee8399b70cc4bfe9dbe50dbc47eb014dd9d Mon Sep 17 00:00:00 2001 From: Francisco Paisana Date: Tue, 17 Sep 2019 17:52:18 +0100 Subject: [PATCH] resolved the uninit variable issue in the queue_test --- lib/test/common/queue_test.cc | 8 ++++---- srsue/src/stack/ue_stack_lte.cc | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/test/common/queue_test.cc b/lib/test/common/queue_test.cc index 8b96e3c4b..0c9899eea 100644 --- a/lib/test/common/queue_test.cc +++ b/lib/test/common/queue_test.cc @@ -104,7 +104,7 @@ int test_multiqueue_threading() { std::cout << "\n===== TEST multiqueue threading test: start =====\n"; - int capacity = 4, number, start_number = 2, nof_pushes = capacity + 1; + int capacity = 4, number = 0, start_number = 2, nof_pushes = capacity + 1; multiqueue_handler multiqueue(capacity); int qid1 = multiqueue.add_queue(); auto push_blocking_func = [&multiqueue](int qid, int start_value, int nof_pushes, bool* is_running) { @@ -190,9 +190,9 @@ int test_multiqueue_threading3() multiqueue_handler multiqueue(capacity); int qid1 = multiqueue.add_queue(); auto pop_blocking_func = [&multiqueue](int qid, bool* success) { - int number; - int id = multiqueue.wait_pop(&number); - *success = id < 0; + int number = 0; + int id = multiqueue.wait_pop(&number); + *success = id < 0; }; bool t1_success = false; diff --git a/srsue/src/stack/ue_stack_lte.cc b/srsue/src/stack/ue_stack_lte.cc index e8fd0e72e..30a694a16 100644 --- a/srsue/src/stack/ue_stack_lte.cc +++ b/srsue/src/stack/ue_stack_lte.cc @@ -208,8 +208,9 @@ void ue_stack_lte::run_thread() { while (running) { task_t task{}; - pending_tasks.wait_pop(&task); - task(); + if (pending_tasks.wait_pop(&task) >= 0) { + task(); + } } }