---
name: "zmq_ctx_new"
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_ctx_new"
---

# zmq\_ctx\_new(3)

create new 0MQ context

## NAME

zmq\_ctx\_new - create new 0MQ context

## SYNOPSIS

**void \*zmq\_ctx\_new ();**

## DESCRIPTION

The *zmq\_ctx\_new()* function creates a new 0MQ *context*.

This function replaces the deprecated function [**zmq\_init**(3)](/zmq_init/3.md).

**Thread safety**. A 0MQ *context* is thread safe and may be shared among as many application threads as necessary, without any additional locking required on the part of the caller.

## RETURN VALUE

The *zmq\_ctx\_new()* function shall return an opaque handle to the newly created *context* if successful. Otherwise it shall return NULL and set *errno* to one of the values defined below.

## ERRORS

**EMFILE**

The limit on the total number of open files has been reached and it wasn’t possible to create a new context.

**EMFILE**

The limit on the total number of open files in system has been reached and it wasn’t possible to create a new context.

## SEE ALSO

[**zmq**(7)](/zmq/7.md) [**zmq\_ctx\_set**(3)](/zmq_ctx_set/3.md) [**zmq\_ctx\_get**(3)](/zmq_ctx_get/3.md) [**zmq\_ctx\_term**(3)](/zmq_ctx_term/3.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**.
