# nn_shutdown(3) Manual Page

## 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 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);

## SEE ALSO

nn_socket(3) nn_bind(3) nn_connect(3) nanomsg(7)

## AUTHORS

Martin Sustrik