- experimental 1.2.1+dfsg-1
NN_TERM(3) | nanomsg 1.2.1 | NN_TERM(3) |
NAME¶
nn_term - notify all sockets about process termination
SYNOPSIS¶
#include <nanomsg/nn.h>
void nn_term (void);
DESCRIPTION¶
To help with shutdown of multi-threaded programs nanomsg provides the nn_term() function which closes all open sockets, and releases all related resources.
If a socket is blocked inside a blocking function, such as nn_recv(3), it will be unblocked and EBADF error will be returned to the user. Subsequent calls on such sockets will also return EBADF.
Attempting to open a new socket with nn_socket(3) will result in an ETERM error.
If waiting for NN_SNDFD or NN_RCVFD using a polling function, such as poll() or select(), the call will unblock with both NN_SNDFD and NN_RCVFD signaled.
EXAMPLE¶
s = nn_socket (AF_SP, NN_PAIR); nn_term (); rc = nn_send (s, "ABC", 3, 0); assert (rc == -1 && errno == EBADF);
SEE ALSO¶
AUTHORS¶
Martin Sustrik <sustrik@250bpm.com> Garrett D’Amore <garrett@damore.org>
2024-02-21 |