12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- 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#,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#,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
- --------
- <<nn_close#,nn_close(3)>>
- <<nn_send#,nn_send(3)>>
- <<nn_socket#,nn_socket(3)>>
- <<nn_recv#,nn_recv(3)>>
- <<nanomsg#,nanomsg(7)>>
- AUTHORS
- -------
- link:mailto:sustrik@250bpm.com[Martin Sustrik]
- link:mailto:garrett@damore.org[Garrett D'Amore]
|