# zmq_close(3) Manual Page

## 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.

Note | 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.

## ERRORS

ENOTSOCK

  The provided socket was invalid.

## SEE ALSO

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

## AUTHORS

This page was written by the ØMQ community. To make a change please read the ØMQ Contribution Policy at http://www.zeromq.org/docs:contributing.