summaryrefslogtreecommitdiff
path: root/gr-zeromq/lib
diff options
context:
space:
mode:
authorMarcus Müller <mueller@kit.edu>2018-02-20 13:15:20 +0100
committerMarcus Müller <marcus@hostalia.de>2018-02-23 19:06:50 +0100
commit9a366d9412e7f387cf325d6046806ed97497aa27 (patch)
treec9c62abeb3ce091f7699bbf2c8bb0c736194c729 /gr-zeromq/lib
parent8508461a2358a183fc555568041faeebffa73f59 (diff)
zeromq: remove call to pmt::intern when checking queue
The rep_msg_sink was checking the head_delete_nowait status with a freshly constructed pmt intern.
Diffstat (limited to 'gr-zeromq/lib')
-rw-r--r--gr-zeromq/lib/rep_msg_sink_impl.cc9
-rw-r--r--gr-zeromq/lib/rep_msg_sink_impl.h2
2 files changed, 7 insertions, 4 deletions
diff --git a/gr-zeromq/lib/rep_msg_sink_impl.cc b/gr-zeromq/lib/rep_msg_sink_impl.cc
index b88e62b3bc..3a1086e2c1 100644
--- a/gr-zeromq/lib/rep_msg_sink_impl.cc
+++ b/gr-zeromq/lib/rep_msg_sink_impl.cc
@@ -42,7 +42,8 @@ namespace gr {
: gr::block("rep_msg_sink",
gr::io_signature::make(0, 0, 0),
gr::io_signature::make(0, 0, 0)),
- d_timeout(timeout)
+ d_timeout(timeout),
+ d_port(pmt::mp("in"))
{
int major, minor, patch;
zmq::version(&major, &minor, &patch);
@@ -58,7 +59,7 @@ namespace gr {
d_socket->setsockopt(ZMQ_LINGER, &time, sizeof(time));
d_socket->bind (address);
- message_port_register_in(pmt::mp("in"));
+ message_port_register_in(d_port);
}
rep_msg_sink_impl::~rep_msg_sink_impl()
@@ -87,7 +88,7 @@ namespace gr {
while(!d_finished) {
// while we have data, wait for query...
- while(!empty_p(pmt::mp("in"))) {
+ while(!empty_p(d_port)) {
// wait for query...
zmq::pollitem_t items[] = { { static_cast<void *>(*d_socket), 0, ZMQ_POLLIN, 0 } };
@@ -105,7 +106,7 @@ namespace gr {
throw std::runtime_error("Request was not 1 msg for rep/req request!!");
// create message copy and send
- pmt::pmt_t msg = delete_head_nowait(pmt::mp("in"));
+ pmt::pmt_t msg = delete_head_nowait(d_port);
std::stringbuf sb("");
pmt::serialize( msg, sb );
std::string s = sb.str();
diff --git a/gr-zeromq/lib/rep_msg_sink_impl.h b/gr-zeromq/lib/rep_msg_sink_impl.h
index d37a40990f..a8485304d7 100644
--- a/gr-zeromq/lib/rep_msg_sink_impl.h
+++ b/gr-zeromq/lib/rep_msg_sink_impl.h
@@ -38,6 +38,8 @@ namespace gr {
boost::thread *d_thread;
bool d_finished;
+ const pmt::pmt_t d_port;
+
void readloop();
public: