Browse Source

fix(mgb/zmq): fix unused-result when compiling with c++17

GitOrigin-RevId: cbdffd39c6
tags/v1.0.0-rc1
Megvii Engine Team 4 years ago
parent
commit
50d5421aa7
1 changed files with 18 additions and 14 deletions
  1. +18
    -14
      src/opr-mm/impl/zmq_rpc.cpp

+ 18
- 14
src/opr-mm/impl/zmq_rpc.cpp View File

@@ -1,8 +1,10 @@
#include "megbrain/opr/zmq_rpc.h"
#include "megbrain/exception.h"
#include "megbrain_build_config.h" #include "megbrain_build_config.h"


#if MGB_CUDA #if MGB_CUDA
#include "megbrain/opr/zmq_rpc.h"
#include "megbrain/common.h"
#include "megbrain/exception.h"

#include <unistd.h> #include <unistd.h>
#include <cassert> #include <cassert>
#include <cstdio> #include <cstdio>
@@ -18,6 +20,8 @@ using namespace std;
using namespace zmq; using namespace zmq;
using namespace ZmqRpc; using namespace ZmqRpc;


#define DISCARD_RETVAL MGB_MARK_USED_VAR

ZmqRpcWorker::ZmqRpcWorker(context_t* context, ZmqRpcServerImpl* impl) ZmqRpcWorker::ZmqRpcWorker(context_t* context, ZmqRpcServerImpl* impl)
: m_ctx(context), m_runable(0), m_impl(impl) {} : m_ctx(context), m_runable(0), m_impl(impl) {}


@@ -57,10 +61,10 @@ void ZmqRpcWorker::work(string uid) {
if (m_stop) if (m_stop)
break; break;
message_t empty; message_t empty;
socket.recv(empty);
DISCARD_RETVAL(socket.recv(empty));
assert(empty.size() == 0); assert(empty.size() == 0);
message_t request; message_t request;
socket.recv(request);
DISCARD_RETVAL(socket.recv(request));


m_mtx.lock(); m_mtx.lock();
if (--m_runable <= 0) { if (--m_runable <= 0) {
@@ -144,24 +148,24 @@ void ZmqRpcServer::work() {
if (items[0].revents & ZMQ_POLLIN) { if (items[0].revents & ZMQ_POLLIN) {
message_t address; message_t address;


m_backend.recv(address);
DISCARD_RETVAL(m_backend.recv(address));
worker_queue.push({(char*)address.data(), address.size()}); worker_queue.push({(char*)address.data(), address.size()});


message_t empty; message_t empty;
m_backend.recv(empty);
DISCARD_RETVAL(m_backend.recv(empty));
assert(empty.size() == 0); assert(empty.size() == 0);


// the third frame is READY or a client address // the third frame is READY or a client address
message_t client_address; message_t client_address;
m_backend.recv(client_address);
DISCARD_RETVAL(m_backend.recv(client_address));
string tmp((char*)client_address.data(), client_address.size()); string tmp((char*)client_address.data(), client_address.size());
if (strcmp(tmp.c_str(), "READY") != 0) { if (strcmp(tmp.c_str(), "READY") != 0) {
empty.rebuild(); empty.rebuild();
m_backend.recv(empty);
DISCARD_RETVAL(m_backend.recv(empty));
assert(empty.size() == 0); assert(empty.size() == 0);


message_t respones; message_t respones;
m_backend.recv(respones);
DISCARD_RETVAL(m_backend.recv(respones));
m_frontend.send(client_address, send_flags::sndmore); m_frontend.send(client_address, send_flags::sndmore);
m_frontend.send(empty, send_flags::sndmore); m_frontend.send(empty, send_flags::sndmore);
m_frontend.send(respones, send_flags::dontwait); m_frontend.send(respones, send_flags::dontwait);
@@ -169,14 +173,14 @@ void ZmqRpcServer::work() {
} }
if (items[1].revents & ZMQ_POLLIN) { if (items[1].revents & ZMQ_POLLIN) {
message_t address; message_t address;
m_frontend.recv(address);
DISCARD_RETVAL(m_frontend.recv(address));


message_t empty; message_t empty;
m_frontend.recv(empty);
DISCARD_RETVAL(m_frontend.recv(empty));
assert(empty.size() == 0); assert(empty.size() == 0);


message_t request; message_t request;
m_frontend.recv(request);
DISCARD_RETVAL(m_frontend.recv(request));


string worker_uid = worker_queue.front(); string worker_uid = worker_queue.front();
worker_queue.pop(); worker_queue.pop();
@@ -221,7 +225,7 @@ void ZmqRpcClient::add_socket(socket_t* socket) {
void ZmqRpcClient::request(message_t& request, message_t& reply) { void ZmqRpcClient::request(message_t& request, message_t& reply) {
socket_t* client = get_socket(); socket_t* client = get_socket();
client->send(request, send_flags::dontwait); client->send(request, send_flags::dontwait);
client->recv(reply);
DISCARD_RETVAL(client->recv(reply));
add_socket(client); add_socket(client);
} }
#endif
#endif // MGB_CUDA

Loading…
Cancel
Save