Provided by: libzmq3-dev_4.3.5-1build2_amd64 bug

NAME

       zmq_close - close 0MQ socket

SYNOPSIS

       int zmq_close (void *socket);

DESCRIPTION

       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.

       zmq_close() must be called exactly once for each socket. If it is never called,
       zmq_ctx_term() will block forever. If it is called multiple times for the same socket or
       if socket does not point to a socket, the behaviour is undefined.

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

           Note
           This API will complete asynchronously, so not everything will be deallocated after it
           returns. See above for details about linger.

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.

ERRORS

       ENOTSOCK
           The provided socket was NULL.

SEE ALSO

       zmq_socket(3) zmq_ctx_term(3) zmq_setsockopt(3) zmq(7)

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.