# zmq_ctx_set(3) Manual Page

## NAME

zmq_ctx_set - set context options

## SYNOPSIS

int zmq_ctx_set (void *context, int option_name, int option_value);

## DESCRIPTION

The zmq_ctx_set() function shall set the option specified by the option_name argument to the value of the option_value argument.

The zmq_ctx_set() function accepts the following options:

### ZMQ_IO_THREADS: Set number of I/O threads

The ZMQ_IO_THREADS argument specifies the size of the ØMQ thread pool to handle I/O operations. If your application is using only the inproc transport for messaging you may set this to zero, otherwise set it to at least one. This option only applies before creating any sockets on the context.

Default value | 1

### ZMQ_MAX_SOCKETS: Set maximum number of sockets

The ZMQ_MAX_SOCKETS argument sets the maximum number of sockets allowed on the context.

Default value | 1024

## RETURN VALUE

The zmq_ctx_set() function returns zero if successful. Otherwise it returns `-1` and sets errno to one of the values defined below.

## ERRORS

EINVAL

  The requested option option_name is unknown.

## EXAMPLE

Setting a limit on the number of sockets

    void *context = zmq_ctx_new ();
    zmq_ctx_set (context, ZMQ_MAX_SOCKETS, 256);
    int max_sockets = zmq_ctx_get (context, ZMQ_MAX_SOCKETS);
    assert (max_sockets == 256);

## SEE ALSO

zmq_ctx_get(3) zmq(7)

## AUTHORS

This ØMQ manual page was written by Pieter Hintjens <ph@imatix.com>