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 nn_bind(3) or 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);