zmq_msg_close - Man Page

release 0MQ message


int zmq_msg_close (zmq_msg_t *msg);


The zmq_msg_close() function shall inform the 0MQ infrastructure that any resources associated with the message object referenced by msg are no longer required and may be released. Actual release of resources associated with the message object shall be postponed by 0MQ until all users of the message or underlying data buffer have indicated it is no longer required.

Applications should ensure that zmq_msg_close() is called once a message is no longer required, otherwise memory leaks may occur. Note that this is NOT necessary after a successful zmq_msg_send().


Never access zmq_msg_t members directly, instead always use the zmq_msg family of functions.

Return Value

The zmq_msg_close() function shall return zero if successful. Otherwise it shall return -1 and set errno to one of the values defined below.



Invalid message.

See Also

zmq_msg_init(3) zmq_msg_init_size(3) zmq_msg_init_buffer(3) zmq_msg_init_data(3) zmq_msg_data(3) zmq_msg_size(3) zmq(7)


This page was written by the 0MQ community. To make a change please read the 0MQ Contribution Policy at

Referenced By

zmq(7), zmq_msg_copy(3), zmq_msg_data(3), zmq_msg_get(3), zmq_msg_init(3), zmq_msg_init_buffer(3), zmq_msg_init_data(3), zmq_msg_init_size(3), zmq_msg_more(3), zmq_msg_move(3), zmq_msg_size(3).

08/13/2020 0MQ 4.3.3 0MQ Manual