This commit is contained in:
@@ -95,10 +95,14 @@ bool ZMQSocket::SendZeroCopy(void *data, size_t size,void (*callback)(void *, vo
|
||||
}
|
||||
|
||||
auto result = zmq_msg_send(&msg, socket, (blocking ? 0 : ZMQ_DONTWAIT));
|
||||
zmq_msg_close(&msg);
|
||||
|
||||
if (result == size)
|
||||
return true;
|
||||
// https://libzmq.readthedocs.io/en/latest/zmq_msg_send.html
|
||||
// zmq_msg_close only if it fails to send
|
||||
if (result >= 0)
|
||||
return true; // msg is now owned by ZMQ — do NOT close it
|
||||
|
||||
// Send failed — we must close the message ourselves
|
||||
zmq_msg_close(&msg);
|
||||
|
||||
if ((errno == EAGAIN) || (errno == EINTR))
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user