blob: 724cfeef03e5d3cae54ad266a2b23f023c59ac2a [file] [log] [blame]
nn_shutdown(3)
==============
NAME
----
nn_shutdown - remove an endpoint from a socket
SYNOPSIS
--------
*#include <nanomsg/nn.h>*
*int nn_shutdown (int 's', int 'how');*
DESCRIPTION
-----------
Removes an endpoint from socket 's'. 'how' parameter specifies the ID of the
endpoint to remove as returned by prior call to linknanomsg:nn_bind[3] or
linknanomsg:nn_connect[3]. _nn_shutdown()_ call will return immediately,
however, the library will try to deliver any outstanding outbound messages to
the endpoint for the time specified by _NN_LINGER_ socket option.
RETURN VALUE
------------
If the function succeeds zero is returned. Otherwise, -1 is
returned and 'errno' is set to to one of the values defined below.
ERRORS
------
*EBADF*::
The provided socket is invalid.
*EINVAL*::
The 'how' parameter doesn't correspond to an active endpoint.
*EINTR*::
Operation was interrupted by a signal. The endpoint is not fully closed yet.
Operation can be re-started by calling _nn_shutdown()_ again.
*ETERM*::
The library is terminating.
EXAMPLE
-------
----
s = nn_socket (AF_SP, NN_PUB);
eid = nn_bind (s, "inproc://test");
nn_shutdown (s, eid);
----
SEE ALSO
--------
linknanomsg:nn_socket[3]
linknanomsg:nn_bind[3]
linknanomsg:nn_connect[3]
linknanomsg:nanomsg[7]
AUTHORS
-------
Martin Sustrik <sustrik@250bpm.com>