summaryrefslogtreecommitdiff
path: root/gr-zeromq/lib/rep_sink_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-zeromq/lib/rep_sink_impl.cc')
-rw-r--r--gr-zeromq/lib/rep_sink_impl.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/gr-zeromq/lib/rep_sink_impl.cc b/gr-zeromq/lib/rep_sink_impl.cc
index 920cc1ff27..f50feccbf2 100644
--- a/gr-zeromq/lib/rep_sink_impl.cc
+++ b/gr-zeromq/lib/rep_sink_impl.cc
@@ -59,10 +59,15 @@ int rep_sink_impl::work(int noutput_items,
/* Get and parse the request */
zmq::message_t request;
#if USE_NEW_CPPZMQ_SEND_RECV
- d_socket.recv(request);
+ bool ok = bool(d_socket.recv(request));
#else
- d_socket.recv(&request);
+ bool ok = d_socket.recv(&request);
#endif
+ if (!ok) {
+ // Should not happen, we've checked POLLIN.
+ GR_LOG_ERROR(d_logger, "Failed to receive message.");
+ break;
+ }
int nitems_send = noutput_items - done;
if (request.size() >= sizeof(uint32_t)) {