---
name: "zmq_msg_close"
section: "3"
platform: "linux"
package: "zeromq"
version: "4.3.5-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/zmq_msg_close"
---

# zmq\_msg\_close(3)

release 0MQ message

## NAME

zmq\_msg\_close - release 0MQ message

## SYNOPSIS

**int zmq\_msg\_close (zmq\_msg\_t** *\*msg***);**

## DESCRIPTION

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()*.

**Caution**\

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.

## ERRORS

**EFAULT**

Invalid message.

## SEE ALSO

[**zmq\_msg\_init**(3)](/zmq_msg_init/3.md) [**zmq\_msg\_init\_size**(3)](/zmq_msg_init_size/3.md) [**zmq\_msg\_init\_buffer**(3)](/zmq_msg_init_buffer/3.md) [**zmq\_msg\_init\_data**(3)](/zmq_msg_init_data/3.md) [**zmq\_msg\_data**(3)](/zmq_msg_data/3.md) [**zmq\_msg\_size**(3)](/zmq_msg_size/3.md) [**zmq**(7)](/zmq/7.md)

## AUTHORS

This page was written by the 0MQ community. To make a change please read the 0MQ Contribution Policy at **http://www.zeromq.org/docs:contributing**.
