diff options
Diffstat (limited to 'gr-zeromq/lib/rep_sink_impl.cc')
-rw-r--r-- | gr-zeromq/lib/rep_sink_impl.cc | 9 |
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)) { |