From b70d628fad5ab97d24473b83fd18997b4e87477d Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Wed, 1 Dec 2010 10:57:37 +0100 Subject: Documentation updates for 2.1 - Clarify ZMQ_LINGER, zmq_close (), zmq_term () relationship - New socket options - Clarify thread safety of sockets and migration between threads - Other minor and spelling fixes Signed-off-by: Martin Lucina --- doc/zmq_term.txt | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'doc/zmq_term.txt') diff --git a/doc/zmq_term.txt b/doc/zmq_term.txt index 6c69b82..2edc765 100644 --- a/doc/zmq_term.txt +++ b/doc/zmq_term.txt @@ -14,20 +14,27 @@ SYNOPSIS DESCRIPTION ----------- -The _zmq_term()_ function terminates the 0MQ context 'context'. +The _zmq_term()_ function shall terminate the 0MQ context 'context'. -It does so in following steps: +Context termination is performed in the following steps: -* It causes any blocking operations currently in progress on sockets open within - 'context' to exit immediately with an error code of ETERM. +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 _zmq_close()_, any further operations on sockets open within + 'context' shall fail with an error code of ETERM. -* With the exception of _zmq_close()_, any further operations on sockets open - within 'context' shall fail with an error code of ETERM. +2. After interrupting all blocking calls, _zmq_term()_ shall _block_ until the + following conditions are satisfied: ++ + * All sockets open within 'context' have been closed with _zmq_close()_. -* After iterrupting all blocking calls, _zmq_term()_ blocks until all sockets - open within the context are closed using _zmq_close()_ and either all the - pending outbound messages are pushed to the network or ZMQ_LINGER period - expires for individual sockets. + * For each socket within 'context', all messages sent by the application + with _zmq_send()_ have either been physically transferred to a network + peer, or the socket's linger period set with the _ZMQ_LINGER_ socket + option has expired. + +For further details regarding socket linger behaviour refer to the _ZMQ_LINGER_ +option in linkzmq:zmq_setsockopt[3]. RETURN VALUE -- cgit v1.2.3