diff options
Diffstat (limited to 'gnuradio-runtime/lib/messages')
-rw-r--r-- | gnuradio-runtime/lib/messages/msg_accepter.cc | 12 | ||||
-rw-r--r-- | gnuradio-runtime/lib/messages/msg_accepter_msgq.cc | 23 | ||||
-rw-r--r-- | gnuradio-runtime/lib/messages/msg_producer.cc | 12 | ||||
-rw-r--r-- | gnuradio-runtime/lib/messages/msg_queue.cc | 95 |
4 files changed, 62 insertions, 80 deletions
diff --git a/gnuradio-runtime/lib/messages/msg_accepter.cc b/gnuradio-runtime/lib/messages/msg_accepter.cc index cc86a6ff8a..f6a0d957aa 100644 --- a/gnuradio-runtime/lib/messages/msg_accepter.cc +++ b/gnuradio-runtime/lib/messages/msg_accepter.cc @@ -27,12 +27,12 @@ #include <gnuradio/messages/msg_accepter.h> namespace gr { - namespace messages { +namespace messages { - msg_accepter::~msg_accepter() - { - // NOP, required as virtual destructor - } +msg_accepter::~msg_accepter() +{ + // NOP, required as virtual destructor +} - } /* namespace messages */ +} /* namespace messages */ } /* namespace gr */ diff --git a/gnuradio-runtime/lib/messages/msg_accepter_msgq.cc b/gnuradio-runtime/lib/messages/msg_accepter_msgq.cc index 7ee6ea02c1..b2db5105d5 100644 --- a/gnuradio-runtime/lib/messages/msg_accepter_msgq.cc +++ b/gnuradio-runtime/lib/messages/msg_accepter_msgq.cc @@ -26,23 +26,16 @@ #include <gnuradio/messages/msg_accepter_msgq.h> namespace gr { - namespace messages { +namespace messages { - msg_accepter_msgq::msg_accepter_msgq(msg_queue_sptr msgq) - : d_msg_queue(msgq) - { - } +msg_accepter_msgq::msg_accepter_msgq(msg_queue_sptr msgq) : d_msg_queue(msgq) {} - msg_accepter_msgq::~msg_accepter_msgq() - { - // NOP, required as virtual destructor - } +msg_accepter_msgq::~msg_accepter_msgq() +{ + // NOP, required as virtual destructor +} - void - msg_accepter_msgq::post(pmt::pmt_t msg) - { - d_msg_queue->insert_tail(msg); - } +void msg_accepter_msgq::post(pmt::pmt_t msg) { d_msg_queue->insert_tail(msg); } - } /* namespace messages */ +} /* namespace messages */ } /* namespace gr */ diff --git a/gnuradio-runtime/lib/messages/msg_producer.cc b/gnuradio-runtime/lib/messages/msg_producer.cc index 3f56bc6637..19ced499b0 100644 --- a/gnuradio-runtime/lib/messages/msg_producer.cc +++ b/gnuradio-runtime/lib/messages/msg_producer.cc @@ -27,12 +27,12 @@ #include <gnuradio/messages/msg_producer.h> namespace gr { - namespace messages { +namespace messages { - msg_producer::~msg_producer() - { - // NOP, required as virtual destructor - } +msg_producer::~msg_producer() +{ + // NOP, required as virtual destructor +} - } /* namespace messages */ +} /* namespace messages */ } /* namespace gr */ diff --git a/gnuradio-runtime/lib/messages/msg_queue.cc b/gnuradio-runtime/lib/messages/msg_queue.cc index 321b229358..6476ddc4ee 100644 --- a/gnuradio-runtime/lib/messages/msg_queue.cc +++ b/gnuradio-runtime/lib/messages/msg_queue.cc @@ -28,76 +28,65 @@ #include <stdexcept> namespace gr { - namespace messages { - - msg_queue_sptr - make_msg_queue(unsigned int limit) - { - return msg_queue_sptr(new msg_queue(limit)); - } - - msg_queue::msg_queue(unsigned int limit) - : d_limit(limit) - { - } - - msg_queue::~msg_queue() - { - flush(); - } - - void - msg_queue::insert_tail(pmt::pmt_t msg) - { - gr::thread::scoped_lock guard(d_mutex); - - while(full_p()) +namespace messages { + +msg_queue_sptr make_msg_queue(unsigned int limit) +{ + return msg_queue_sptr(new msg_queue(limit)); +} + +msg_queue::msg_queue(unsigned int limit) : d_limit(limit) {} + +msg_queue::~msg_queue() { flush(); } + +void msg_queue::insert_tail(pmt::pmt_t msg) +{ + gr::thread::scoped_lock guard(d_mutex); + + while (full_p()) d_not_full.wait(guard); - d_msgs.push_back(msg); - d_not_empty.notify_one(); - } + d_msgs.push_back(msg); + d_not_empty.notify_one(); +} - pmt::pmt_t - msg_queue::delete_head() - { - gr::thread::scoped_lock guard(d_mutex); +pmt::pmt_t msg_queue::delete_head() +{ + gr::thread::scoped_lock guard(d_mutex); - while(empty_p()) + while (empty_p()) d_not_empty.wait(guard); - pmt::pmt_t m(d_msgs.front()); - d_msgs.pop_front(); + pmt::pmt_t m(d_msgs.front()); + d_msgs.pop_front(); - if(d_limit > 0) // Unlimited length queues never block on write + if (d_limit > 0) // Unlimited length queues never block on write d_not_full.notify_one(); - return m; - } + return m; +} - pmt::pmt_t - msg_queue::delete_head_nowait() - { - gr::thread::scoped_lock guard(d_mutex); +pmt::pmt_t msg_queue::delete_head_nowait() +{ + gr::thread::scoped_lock guard(d_mutex); - if(empty_p()) + if (empty_p()) return pmt::pmt_t(); - pmt::pmt_t m(d_msgs.front()); - d_msgs.pop_front(); + pmt::pmt_t m(d_msgs.front()); + d_msgs.pop_front(); - if(d_limit > 0) // Unlimited length queues never block on write + if (d_limit > 0) // Unlimited length queues never block on write d_not_full.notify_one(); - return m; - } + return m; +} - void - msg_queue::flush() - { - while(delete_head_nowait() != pmt::pmt_t()) +void msg_queue::flush() +{ + while (delete_head_nowait() != pmt::pmt_t()) ; - } +} - } /* namespace messages */ +} /* namespace messages */ } /* namespace gr */ |