NN_TERM(3) nanomsg manual NN_TERM(3)NAMEnn_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 informs all the open sockets that process
termination is underway.
If a socket is blocked inside a blocking function, such as nn_recv(3),
it will be unblocked and ETERM error will be returned to the user.
Similarly, any subsequent attempt to invoke a socket function other
than nn_close(3) after nn_term() was called will result in 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.
The nn_term() function itself is non-blocking.
EXAMPLE
s = nn_socket (AF_SP, NN_PAIR);
nn_term ();
rc = nn_send (s, "ABC", 3, 0);
assert (rc == -1 && errno == ETERM);
SEE ALSOnn_close(3)nn_send(3)nn_recv(3)nn_getsockopt(3)nanomsg(7)AUTHORS
Martin Sustrik <sustrik@250bpm.com[1]>
NOTES
1. sustrik@250bpm.com
mailto:sustrik@250bpm.com
nanomsg Unknown 12/23/2015 NN_TERM(3)