table of contents
XS_TERM(3) | Crossroads I/O Manual | XS_TERM(3) |
NAME¶
xs_term - terminate the contextSYNOPSIS¶
int xs_term (void *context);DESCRIPTION¶
The xs_term() function shall terminate the Crossroads context context.Context termination is performed in the following steps:
1.Any blocking operations currently in progress on
sockets open within context shall return immediately with an error code
of ETERM. With the exception of xs_close(), any further operations on
sockets open within context shall fail with an error code of
ETERM.
2.After interrupting all blocking calls,
xs_term() shall block until the following conditions are
satisfied:
•All sockets open within context have been
closed with xs_close().
•For each socket within context, all
messages sent by the application with xs_send() have either been
physically transferred to a network peer, or the socket’s linger period
set with the XS_LINGER socket option has expired.
For further details regarding socket linger behaviour refer to the XS_LINGER option in xs_setsockopt(3).
RETURN VALUE¶
The xs_term() function shall return zero if successful. Otherwise it shall return -1 and set errno to one of the values defined below.ERRORS¶
EFAULTThe provided context was invalid.
EINTR
Termination was interrupted by a signal. It can be
restarted if needed.
SEE ALSO¶
xs(7) xs_init(3) xs_close(3) xs_setsockopt(3)AUTHORS¶
The Crossroads documentation was written by Martin Sustrik <sustrik@250bpm.com[1]> and Martin Lucina <martin@lucina.net[2]>.NOTES¶
- 1.
- sustrik@250bpm.com
mailto:sustrik@250bpm.com
- 2.
- martin@lucina.net
mailto:martin@lucina.net
06/13/2012 | Crossroads I/O 1.2.0 |