xs_close(3)

# xs_close(3) Manual Page

## NAME

xs_close - close Crossroads socket

## SYNOPSIS

int xs_close (void *socket);

## DESCRIPTION

The xs_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 xs_recv() shall be discarded. The behaviour for discarding messages sent by the application with xs_send() but not yet physically transferred to the network depends on the value of the XS_LINGER socket option for the specified socket.

Note | The default setting of XS_LINGER does not discard unsent messages; this behaviour may cause the application to block when calling xs_term(). For details refer to xs_setsockopt(3) and xs_term(3).

## RETURN VALUE

The xs_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

xs_socket(3) xs_term(3) xs_setsockopt(3) xs(7)

## AUTHORS

The Crossroads documentation was written by Martin Sustrik <sustrik@250bpm.com> and Martin Lucina <martin@lucina.net>.