zmq_close man page

zmq_close — close 0MQ socket


int zmq_close (void *socket);


The zmq_close() function shall destroy the socket referenced by the socket argument. Any outstanding messages physically received from the network but not yet received by the application with zmq_recv() shall be discarded. The behaviour for discarding messages sent by the application with zmq_send() but not yet physically transferred to the network depends on the value of the ZMQ_LINGER socket option for the specified socket.


The default setting of ZMQ_LINGER does not discard unsent messages; this behaviour may cause the application to block when calling zmq_term(). For details refer to zmq_setsockopt(3) and zmq_term(3).

Return Value

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



The provided socket was invalid.

See Also

zmq_socket(3) zmq_term(3) zmq_setsockopt(3) zmq(7)


This manual page was written by the 0MQ community.

Referenced By

zmq(7), zmq_cpp(7), zmq_ctx_destroy(3), zmq_ctx_shutdown(3), zmq_ctx_term(3), zmq_getsockopt(3), zmq_setsockopt(3), zmq_term(3).

Explore man page connections for zmq_close(3).

0MQ 2.2.0 04/04/2012