From be55c5ac3d2b4d66abb18ff139dec172c0249209 Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Fri, 31 Oct 2014 11:38:01 +0100 Subject: [PATCH 1/2] Fixed .gitignore for mains in root --- .gitignore | 166 ++++++++++++++++++++++++++--------------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/.gitignore b/.gitignore index ef73164a..f93b4281 100644 --- a/.gitignore +++ b/.gitignore @@ -21,93 +21,93 @@ autom4te.cache .* *~ .*~ -tools/curve_keygen -tests/test_resource -tests/test_ipc_wildcard -tests/test_stream_empty -tests/test_stream_timeout -tests/test_issue_566 -tests/test_ctx_destroy -tests/test_term_endpoint -tests/test_system -tests/test_monitor -tests/test_last_endpoint -tests/test_pair_inproc -tests/test_pair_ipc -tests/test_pair_tcp -tests/test_reqrep_inproc -tests/test_reqrep_ipc -tests/test_reqrep_tcp -tests/test_shutdown_stress -tests/test_hwm -tests/test_timeo -tests/test_reqrep_device -tests/test_reqrep_drop -tests/test_sub_forward -tests/test_invalid_rep -tests/test_msg_flags -tests/test_ts_context -tests/test_connect_resolve -tests/test_immediate -tests/test_term_endpoint -tests/test_router_mandatory -tests/test_disconnect_inproc -tests/test_raw_sock -tests/test_disconnect_inproc -tests/test_ctx_options -tests/test_iov -tests/test_security -tests/test_security_curve -tests/test_probe_router -tests/test_stream -tests/test_spec_dealer -tests/test_spec_pushpull -tests/test_spec_rep -tests/test_spec_req -tests/test_spec_router -tests/test_req_correlate -tests/test_req_relaxed -tests/test_fork -tests/test_conflate -tests/test_inproc_connect -tests/test_linger -tests/test_security_null -tests/test_security_plain -tests/test_proxy -tests/test_abstract_ipc -tests/test_filter_ipc -tests/test_connect_delay_tipc -tests/test_pair_tipc -tests/test_reqrep_device_tipc -tests/test_reqrep_tipc -tests/test_router_handover -tests/test_router_mandatory_tipc -tests/test_shutdown_stress_tipc -tests/test_sub_forward_tipc -tests/test_term_endpoint_tipc -tests/test_many_sockets -tests/test_diffserv -tests/test_connect_rid -tests/test_srcfd -tests/test_stream_disconnect -tests/test_proxy_chain -tests/test_bind_src_address -tests/test_metadata -tests/test_id2fd -tests/test_capabilities -tests/test_hwm_pubsub -tests/test_router_mandatory_hwm -tests/test_xpub_nodrop +curve_keygen +test_resource +test_ipc_wildcard +test_stream_empty +test_stream_timeout +test_issue_566 +test_ctx_destroy +test_term_endpoint +test_system +test_monitor +test_last_endpoint +test_pair_inproc +test_pair_ipc +test_pair_tcp +test_reqrep_inproc +test_reqrep_ipc +test_reqrep_tcp +test_shutdown_stress +test_hwm +test_timeo +test_reqrep_device +test_reqrep_drop +test_sub_forward +test_invalid_rep +test_msg_flags +test_ts_context +test_connect_resolve +test_immediate +test_term_endpoint +test_router_mandatory +test_disconnect_inproc +test_raw_sock +test_disconnect_inproc +test_ctx_options +test_iov +test_security +test_security_curve +test_probe_router +test_stream +test_spec_dealer +test_spec_pushpull +test_spec_rep +test_spec_req +test_spec_router +test_req_correlate +test_req_relaxed +test_fork +test_conflate +test_inproc_connect +test_linger +test_security_null +test_security_plain +test_proxy +test_abstract_ipc +test_filter_ipc +test_connect_delay_tipc +test_pair_tipc +test_reqrep_device_tipc +test_reqrep_tipc +test_router_handover +test_router_mandatory_tipc +test_shutdown_stress_tipc +test_sub_forward_tipc +test_term_endpoint_tipc +test_many_sockets +test_diffserv +test_connect_rid +test_srcfd +test_stream_disconnect +test_proxy_chain +test_bind_src_address +test_metadata +test_id2fd +test_capabilities +test_hwm_pubsub +test_router_mandatory_hwm +test_xpub_nodrop tests/test*.log tests/test*.trs src/platform.hpp* src/stamp-h1 -perf/local_lat -perf/local_thr -perf/remote_lat -perf/remote_thr -perf/inproc_lat -perf/inproc_thr +local_lat +local_thr +remote_lat +remote_thr +inproc_lat +inproc_thr doc/*.1 doc/*.3 doc/*.7 From ea9f7acce3b8a8258f42aae23de398eb2e3cba5b Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Thu, 6 Nov 2014 10:55:26 +0100 Subject: [PATCH 2/2] Problem: zmq_ctx_term has insane behavior by default Solution: document this with a clear warning. It would be nicer perhaps to change the default LINGER to e.g. a few seconds. However this could break existing applications. --- doc/zmq_ctx_term.txt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/zmq_ctx_term.txt b/doc/zmq_ctx_term.txt index 50951cd1..44c667bc 100644 --- a/doc/zmq_ctx_term.txt +++ b/doc/zmq_ctx_term.txt @@ -23,8 +23,8 @@ Context termination is performed in the following steps: 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_ctx_term()_ shall _block_ until the - following conditions are satisfied: +2. After interrupting all blocking calls, _zmq_ctx_term()_ shall _block_ until + the following conditions are satisfied: * All sockets open within 'context' have been closed with _zmq_close()_. @@ -39,6 +39,15 @@ option in linkzmq:zmq_setsockopt[3]. This function replaces the deprecated function linkzmq:zmq_term[3]. +WARNING +------- + +As _ZMQ_LINGER_ defaults to "infinite", by default this function will block +indefinitely if there are any pending connects or sends. We strongly +recommend to (a) set _ZMQ_LINGER_ to zero on all sockets and (b) close all +sockets, before calling this function. + + RETURN VALUE ------------ The _zmq_ctx_term()_ function shall return zero if successful. Otherwise