doompanning/docs/man/nn_term.3compat.adoc
oxmox 17f68cf8fe Squashed 'external/nng/' content from commit 169221da
git-subtree-dir: external/nng
git-subtree-split: 169221da8d53b2ca4fda76f894bee8505887a7c6
2023-02-03 21:18:59 +01:00

59 lines
1.6 KiB
Text

= nn_term(3compat)
//
// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
//
// This document 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
nn_term - terminate library (compatible API)
== SYNOPSIS
[source,c]
----
#include <nanomsg/nn.h>
void nn_term(void);
----
== DESCRIPTION
The `nn_term()` function closes any open sockets, and frees all resources
allocated by the library.
Any operations that are currently in progress will be terminated, and will
fail with error `EBADF` or `ETERM`.
NOTE: This function is provided for API
xref:nng_compat.3compat.adoc[compatibility] with legacy _libnanomsg_.
Consider using the relevant xref:libnng.3.adoc[modern API] instead.
IMPORTANT: This function is not thread-safe, and is not suitable for use
in library calls.
The intended purpose of this is to clean up at application termination; for
example by registering this function with `atexit()`.
This can help prevent false leak reports caused when memory checkers notice
global resources allocated by the library.
Libraries should never use this function, but should explicitly close their
own sockets directly.
== RETURN VALUES
None.
== ERRORS
None.
== SEE ALSO
[.text-left]
xref:nn_errno.3compat.adoc[nn_errno(3compat)],
xref:nn_socket.3compat.adoc[nn_socket(3compat)],
xref:nng_compat.3compat.adoc[nng_compat(3compat)],
xref:nng.7.adoc[nng(7)]