zmq_close.txt 1.67 KB
Newer Older
1 2 3 4 5 6
zmq_close(3)
============


NAME
----
Martin Lucina's avatar
Martin Lucina committed
7
zmq_close - close 0MQ socket
8 9 10 11


SYNOPSIS
--------
Martin Lucina's avatar
Martin Lucina committed
12
*int zmq_close (void '*socket');*
13 14 15 16


DESCRIPTION
-----------
Martin Lucina's avatar
Martin Lucina committed
17
The _zmq_close()_ function shall destroy the socket referenced by the 'socket'
18
argument. Any outstanding messages physically received from the network but not
19 20 21 22 23
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'.

24 25 26 27
_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.

28
NOTE: The default setting of _ZMQ_LINGER_ does not discard unsent messages;
29 30
this behaviour may cause the application to block when calling _zmq_ctx_term()_.
For details refer to linkzmq:zmq_setsockopt[3] and linkzmq:zmq_ctx_term[3].
31

32 33 34
NOTE: This API will complete asynchronously, so not everything will be deallocated
after it returns. See above for details about linger.

35 36 37

RETURN VALUE
------------
Martin Lucina's avatar
Martin Lucina committed
38
The _zmq_close()_ function shall return zero if successful. Otherwise it shall
Martin Lucina's avatar
Martin Lucina committed
39
return `-1` and set 'errno' to one of the values defined below.
40 41 42 43


ERRORS
------
44
*ENOTSOCK*::
45
The provided 'socket' was NULL.
46 47 48 49 50


SEE ALSO
--------
linkzmq:zmq_socket[3]
51
linkzmq:zmq_ctx_term[3]
52
linkzmq:zmq_setsockopt[3]
Martin Lucina's avatar
Martin Lucina committed
53
linkzmq:zmq[7]
54 55


56 57
AUTHORS
-------
58 59
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>.