diff --git a/zmq_src/ZMQServer.cpp b/zmq_src/ZMQServer.cpp index 6044734b9cd65763d0ad964d6bed7fbcf466c632..44983891693c3448366562328e51bc9ec84968ad 100644 --- a/zmq_src/ZMQServer.cpp +++ b/zmq_src/ZMQServer.cpp @@ -211,25 +211,27 @@ pair <string, shared_ptr<zmq::message_t>> ZMQServer::receiveMessage() { if (!socket->recv(identity.get())) { checkForExit(); - // something terrible happened - spdlog::error("Fatal error: socket->recv(&identity) returned false. Exiting."); - exit(-11); + // bad socket type + spdlog::error("Error: socket->recv(&identity) returned false."); + throw SGXException(ZMQ_SERVER_ERROR, "Error: socket->recv(&identity) returned false."); } if (!identity->more()) { checkForExit(); - // something terrible happened - spdlog::error("Fatal error: zmq_msg_more(identity) returned false. Exiting."); - exit(-12); + // bad socket type + spdlog::error("Error: zmq_msg_more(identity) returned false."); + throw SGXException(ZMQ_SERVER_ERROR, "Error: zmq_msg_more(identity) returned false."); } + auto id = string((char *) identity->data(), identity->size()); + spdlog::debug("Received identity via ZMQ server: {}", id); auto reqMsg = make_shared<zmq::message_t>(); if (!socket->recv(reqMsg.get(), 0)) { checkForExit(); - // something terrible happened - spdlog::error("Fatal error: socket.recv(&reqMsg, 0) returned false. Exiting"); - exit(-13); + // bad socket type + spdlog::error("Error: socket.recv(&reqMsg, 0) returned false."); + throw SGXException(ZMQ_SERVER_ERROR, "Error: socket.recv(&reqMsg, 0) returned false."); } auto result = string((char *) reqMsg->data(), reqMsg->size());