ZMQ_CTX_SET_EXT(3) 0MQ Manual ZMQ_CTX_SET_EXT(3)

zmq_ctx_set_ext - set extended context options

int zmq_ctx_set_ext (void *context, int option_name, const void *option_value, size_t option_len);

The zmq_ctx_set_ext() function shall set the option specified by the option_name argument to the value pointed to by the option_value argument for the 0MQ context pointed to by the context argument. The option_len argument is the size of the option value in bytes. For options taking a value of type "character string", the provided byte data should either contain no zero bytes, or end in a single zero byte (terminating ASCII NUL character).

The zmq_ctx_set_ext() function accepts all the option names accepted by zmq_ctx_set(). Options that make most sense to set using zmq_ctx_set_ext() instead of zmq_ctx_set() are the following options:

The ZMQ_THREAD_NAME_PREFIX argument sets a string prefix to each thread created for the internal context’s thread pool. This option is only supported on Linux. This option is useful to help debugging done via "top -H" or "gdb"; in case multiple processes on the system are using ZeroMQ it is useful to provide through this context option an application-specific prefix to distinguish ZeroMQ background threads that belong to different processes. This option only applies before creating any sockets on the context.

Option value type character string
Option value unit N/A
Default value empty string

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

EINVAL

The requested option option_name is unknown.

EFAULT

The provided context is invalid.

Setting a prefix on internal ZMQ thread names:.

void *context = zmq_ctx_new ();
const char prefix[] = "MyApp";
size_t prefixLen = sizeof(prefix);
zmq_ctx_set (context, ZMQ_THREAD_NAME_PREFIX, &prefix, &prefixLen);
char buff[256];
size_t buffLen = sizeof(buff);
int rc = zmq_ctx_get (context, ZMQ_THREAD_NAME_PREFIX, &buff, &buffLen);
assert (rc == 0);
assert (buffLen == prefixLen);

zmq_ctx_set(3) zmq(7)

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.

10/23/2023 0MQ 4.3.5