- 14 Jul, 2017 4 commits
-
-
Luca Boccassi authored
Problem: adapt, clarify docs ZMQ_ROUTER_MANDATORY
-
Marc Sune authored
Solution: * Document the new behaviour when generating 'ZMQ_POLLOUT' events for ZMQ_ROUTER sockets with 'ZMQ_ROUTER_MANDATORY' set to `1` * Add clarifications for 'ZMQ_ROUTER' socket when 'ZMQ_ROUTER_MANDATORY' is set to `1`
-
Luca Boccassi authored
Fix ROUTER's xhas_out() in MANDATORY mode
-
Marc Sune authored
Before this commit, xhas_out() was returning true regardless. This was correct before the ZMQ_ROUTER_MANDATORY flag as introduced. However, ZMQ_POLLOUT. With this commit, _if_ ZMQ_ROUTER_MANDATORY is set, xhas_out() will return false if ALL peer's outgoing pipes are full. There is an outstanding high-level design question: If ZMQ_ROUTER_MANDATORY is set, and zmq_poll() waits for ZMQ_POLLOUT events, zmq_poll() will immediately wake up if only 1 pipe has room to send, regardless of the peer, creating a busy loop of zmq_poll() wake-up, zmq_send() (EAGAIN). There is no way for the application to selectively wait for ZMQ_POLLOUT for specific peer(s), which seems somehow necessary in ZMQ_ROUTER_MANDATORY. This discussion will be addressed in a separate issue. Signed-off-by: Marc Sune <marc@voltanet.io> Signed-off-by: Fredi Raspall <fredi@voltanet.io>
-
- 01 Jul, 2017 2 commits
-
-
Doron Somech authored
Problem: CURVE server (connect) fails when client rebinds
-
Luca Boccassi authored
Solution: if a CURVE server is using zmq_connect, the same session will be used for any client "reconnect" (actual binds). This is acceptable, so do not assert if zap_pipe already exists during the handshake, but simply reuse it. Fixes #2608
-
- 29 Jun, 2017 2 commits
-
-
Constantin Rack authored
RELICENSE: Matt Connolly
-
Matt Connolly authored
Refs #2376
-
- 27 Jun, 2017 4 commits
-
-
Luca Boccassi authored
Problem: When using print_backtrace() on Linux with libunwind, printout of stack traces from multiple threads are interleaved. Solution: added static mutex to serialize printing of stack traces.
-
Luca Boccassi authored
Problem: intermittent memory leak for req/rep send/recv. #2602 Solution: memory leak fixed.
-
bjovke authored
Problem: When using print_backtrace() on Linux with libunwind, printout of stack traces from multiple threads are interleaved. Solution: added static mutex to serialize printing of stack traces.
-
bjovke authored
-
- 23 Jun, 2017 2 commits
-
-
Constantin Rack authored
Update zmq.txt
-
Emanuel Koczwara authored
Fixed minor typo.
-
- 22 Jun, 2017 2 commits
-
-
Doron Somech authored
Problem: XPUB_MANUAL subscriptions not removed on peer term
-
Luca Boccassi authored
Solution: remove the pipe from the real trie when a peer disconnects. Also add a unit test that exercises the behaviour by reconnecting a different socket and sending a message that matches. Fixes #2601 and introduced by #2042
-
- 21 Jun, 2017 1 commit
-
-
Luca Boccassi authored
Solution: fix unit test to bind after setting the option.
-
- 15 Jun, 2017 1 commit
-
-
Joe Eli McIlvain authored
Problems: ZAP can be set up incorrectly, CURVE and GSSAPI can be used only with ZAP
-
- 14 Jun, 2017 3 commits
-
-
Luca Boccassi authored
Problem: cannot cross-compile with Mingw-w64
-
Iban Cereijo authored
Solution: we can use 'CMAKE_SYSTEM_VERSION' instead of '${CMAKE_SYSTEM_VERSION}' for the 'if' clauses. CMake fails to evaluate condition when CMAKE_SYSTEM_VERSION is empty, which can happen with a default installation of Mingw-w64 in Linux.
-
Iban Cereijo authored
Solution: use lower case ws2_32.lib to enable cross compilation from platforms with case-sensitive filesystems. When cross compiling the tests with Mingw-w64, CMake cannot locate Ws2_32.lib
-
- 13 Jun, 2017 3 commits
-
-
Luca Boccassi authored
Solution: do not fail if ZAP is not enabled. GSSAPI already provides authentication and can be used separately, so it is a valid use case.
-
Luca Boccassi authored
Solution: revert change that made ZAP mandatory. The "Stonehouse" pattern, where CURVE is used only for encryption and without authentication, is a valid use case so we should still support it. Also restore CURVE testing in the test_heartbeat. Fixes #2594
-
Luca Boccassi authored
Solution: if inproc://zeromq.zap.01 exists, which means ZAP is enabled, abort immediately if it cannot be used (eg: out of memory) or it is configured incorrectly (eg: wrong socket type). Otherwise authentication failures will simply be ignored and unauthorised peers will be allowed to slip in.
-
- 12 Jun, 2017 2 commits
-
-
Doron Somech authored
fix bug: #2592 dish client does not resend subscriptions to radio server after radio server restart
-
sunddy authored
problem: for zmq radio/dish pattern, if the radio process restarts, the dish will not resend subscriptions to radio. And the result is that the dish will never receive any more messages. solution: in session_base_t::reconnect (), take ZMQ_DISH into consideration when invoking hiccup method.
-
- 02 Jun, 2017 2 commits
-
-
BJovke authored
fix bug: coredump if set linger and immediate together
-
laplaceyang authored
In function session_base_t::reconnect, if we set immediate to 1 and set linger, we will get into first block of reconnect function, and set pipe to NULL, but we forget to cancel timer of linger. Once timer tiggered, we will get coredump. Solution: cancel timer in the end of set pipe to NULL
-
- 23 May, 2017 2 commits
-
-
Constantin Rack authored
RELICENSE: Ilya Kulakov
-
Ilya Kulakov authored
Refs #2376
-
- 20 May, 2017 2 commits
-
-
Constantin Rack authored
Suppress linker warning 4221 for MSVC
-
Tim Ebringer authored
Some #define switches cause the body of entire files to be omitted. This causes a linker warning on Visual Studio 2017, for example warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library Since this is warning us about something that shouldn't be earth-shattering news, we add a linker flag to suppress this warning on MSVC builds.
-
- 18 May, 2017 4 commits
-
-
Doron Somech authored
Problem: use-after-free in test_poller
-
Luca Boccassi authored
Solution: remove server socket from poller before closing it Fixes #2581
-
Luca Boccassi authored
Use OBJECT_DEPENDS and OBJECT_OUTPUTS for precompiled.hpp
-
Yann Diorcet authored
-
- 17 May, 2017 4 commits
-
-
Luca Boccassi authored
Problem: abort at socket creation on Android with jzmq
-
rkfg authored
Solution: don't set thread name on Android Setting a thread name on Android may fail with "permission denied" error and abort the process due to failed assertion. Tested on Android 5 and 6 (two phones). Strangely enough, it only happens on signed APKs and is fine in debug. Using JeroMQ is not an option as we need TCP keepalive settings and authentication which JeroMQ doesn't support.
-
Doron Somech authored
Problem: REP leaves label msgs for dead REQ in pipe
-
Luca Boccassi authored
Solution: roll back the pipe if writing messages other than the first fails in router::xsend. Roll it back also when the pipe is terminating. Also add test case that reproduces the memory leak when ran with valgrind. Fixes #2567
-