nng_close(3)
============
:doctype: manpage
:manmanual: nng
:mansource: nng
:manvolnum: 3
:icons: font
:source-highlighter: pygments
:copyright: Copyright 2017 Garrett D'Amore <garrett@damore.org> \
            Copyright 2017 Capitar IT Group BV <info@capitar.com> \
            This software is supplied under the terms of the MIT License, a \
            copy of which should be located in the distribution where this \
            file was obtained (LICENSE.txt).  A copy of the license may also \
            be found online at https://opensource.org/licenses/MIT.

NAME
----
nng_close - close a socket

SYNOPSIS
--------

[source, c]
-----------
#include <nng/nng.h>

int nng_close(int s);
-----------


DESCRIPTION
-----------

The `nng_close()` function closes the supplied socket, 's'.  Messages
that have been submitted for sending may be flushed or delivered,
depending upon the transport and the setting of the `NNG_OPT_LINGER`
option.

Further attempts to use the socket after this call returns will result
in `NNG_EBADF`.  Threads waiting for operations on the socket when this
call is executed may also return with an `NNG_EBADF` result.


RETURN VALUES
-------------

This function returns 0 on success, and non-zero otherwise.


ERRORS
------

`NNG_EBADF`:: The socket is already closed or was never opened.


SEE ALSO
--------

<<nng_setopt#,nng_setopt(3)>>
<<nng_strerror#,nng_strerror(3)>>
<<nng#,nng(7)>>


COPYRIGHT
---------

Copyright 2017 mailto:garrett@damore.org[Garrett D'Amore] +
Copyright 2017 mailto:info@capitar.com[Capitar IT Group BV]

This document is supplied under the terms of the
https://opensource.org/licenses/LICENSE.txt[MIT License].
