3915 Commits

Author SHA1 Message Date
Mark Martinec
78edebb34c Added error code EHOSTDOWN to the list of acceptable error codes.
Fixes #164 (EHOSTDOWN from getsockopt must not cause assertion abort;
            causes SaltStack crashes)
2017-09-14 14:47:33 +02:00
Doron Somech
ebc1d60cf1 Merge pull request #169 from bluca/news
Update NEWS for #2623
2017-07-21 15:34:55 +03:00
Luca Boccassi
eb9e67d5a0 Update NEWS for #2623 2017-07-21 10:57:28 +01:00
Luca Boccassi
b7d9ee5b95 Merge pull request #168 from msune/master
Fix ROUTER's xhas_out() in MANDATORY mode
2017-07-21 10:48:53 +01:00
Marc Sune
10694373e3 Fix ROUTER's xhas_out() in MANDATORY mode
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>
2017-07-21 11:21:32 +02:00
Luca Boccassi
44c56a8e09 Merge pull request #166 from pijyoi/master
Problem: pubsub inproc bug not backported
2017-04-07 09:11:41 +01:00
Martin Hurton
e67f935f3a Fix issue #1257 2017-04-07 09:06:48 +08:00
Luca Boccassi
742e303c0d Merge pull request #163 from chutz/fix-divide-by-zero
fix divide by zero in zmq::lb_t::sendpipe
2017-01-28 01:30:00 +00:00
Patrick McLean
b5e25e9f12 fix divide by zero in zmq::lb_t::sendpipe
This is based on https://github.com/zeromq/zeromq3-x/pull/116/files
2017-01-27 17:08:00 -08:00
Constantin Rack
5853120c1f Merge pull request #161 from bluca/news
Update NEWS for #2254
2016-12-15 18:30:45 +01:00
Luca Boccassi
8432d7060f Update NEWS for #2254 2016-12-15 15:27:49 +00:00
Luca Boccassi
4191141fee Merge pull request #160 from laplaceyang/pr_zmq4_pub_with_zmtp_v1_sub
fix bug zmq4.1.x PUB msg to ZMTP 1.0 SUB svr
2016-12-15 16:26:21 +01:00
laplaceyang
e4e6af1876 fix bug zmq4.1.x PUB msg to ZMTP 1.0 SUB svr 2016-12-15 22:55:19 +08:00
Constantin Rack
d23c22cf88 Merge pull request #157 from bluca/bump_ver
Problem: 4.1.6 is out, time to bump version
2016-11-14 19:11:43 +01:00
Luca Boccassi
0680cf6f82 Problem: 4.1.6 is out, time to bump version
Solution: increment version in NEWS and include/zmq.h for the next
round.
2016-11-04 13:17:58 +00:00
Doron Somech
f53060ee60 Merge pull request #159 from bluca/mechanism_off_by_one
Problem: socket_type_string off-by-one error
2016-11-04 14:55:54 +02:00
Luca Boccassi
904d0bd8d3 Problem: socket_type_string off-by-one error
Solution: check socket type from 0 to 11 to include ZMQ_STREAM
2016-11-04 12:13:42 +00:00
Constantin Rack
ec95f91e68 Merge pull request #156 from bluca/rel
Problem: need to tag a new release
v4.1.6
2016-11-01 18:15:43 +01:00
Luca Boccassi
ceb72c7e06 Finalize NEWS and bump ABI to 5:2:0 for 4.1.6 2016-11-01 15:58:34 +00:00
Luca Boccassi
b41ef3963b Problem: spec file hard codes .so version
Solution: use wildcard instead
2016-11-01 15:53:56 +00:00
Doron Somech
3ae04f1d3e Merge pull request #155 from bluca/alignment
Problem: pointer union for zmq_msg_t is a hack
2016-11-01 16:48:14 +02:00
Luca Boccassi
fb1ee2b078 Update NEWS for #1325 2016-11-01 13:07:53 +00:00
Luca Boccassi
f2de03a480 Problem: MS VC++ build broken
Solution: try to detect architecture if building with VC++ and
hardcode pointer size accordingly.
Expressions are not allowed inside declspec intrinsics, which
includes other intrinsics.
2016-11-01 13:07:18 +00:00
Luca Boccassi
a077adb4a0 Problem: pointer union for zmq_msg_t is a hack
Solution: use compiler's alignment attributes instead which is
clearer and less of a hack.
Pointer alignment violations causing crashes on architectures
such as sparc64 and aarch64.
This also avoid triggering ABI checkers as the change is compatible
even though applications that suffer from the bug should rebuild to
take advantage of the fix.
2016-11-01 13:07:18 +00:00
Luca Boccassi
21e484750e Merge pull request #154 from vielmetti/patch-1
Update INSTALL to note issues with parallel "make -j check"
2016-10-23 20:25:47 +01:00
Edward Vielmetti
dc68d2ef45 Update INSTALL to note issues with parallel "make -j check"
Documentation also patched in libzmq. 

Closes #151 to document non-support for parallel make check.
2016-10-23 15:21:57 -04:00
Luca Boccassi
7302228026 Merge pull request #153 from jens-auer/2158
Fixed function prototypes
2016-10-21 12:40:22 +01:00
Jens Auer
56611dd46b Fixed function prototypes 2016-10-21 12:27:32 +02:00
Constantin Rack
ff8b0aa6ec Merge pull request #150 from bluca/news
Problem: NEWS out of date
2016-10-13 13:13:58 +02:00
Luca Boccassi
5e207100f5 Problem: NEWS out of date
Solution: mention recently backported fixes
2016-10-13 10:48:16 +01:00
Luca Boccassi
cd3680d178 Merge pull request #148 from jens-auer/backport-#1649
Merged PR 1649
2016-10-13 10:37:50 +01:00
Luca Boccassi
107266b77d Merge pull request #149 from jens-auer/2158
Add mutex to socket monitor access
2016-10-13 10:37:37 +01:00
Jens Auer
798532e0c5 Merged PR 1649
https://github.com/zeromq/libzmq/pull/1649/commits
2016-10-13 08:34:04 +00:00
Jens Auer
7aec4be368 Add mutex to socket monitor access
The monitor socket is used concurrently from different threads
and needs protection.
2016-10-13 08:32:20 +00:00
Luca Boccassi
5ea5629451 Merge pull request #147 from WGH-/doc-router-mandatory-block
doc/zmq_socket.txt: clarify that ROUTER can be blocking
2016-10-03 23:54:30 +01:00
WGH
064a8b6766 doc/zmq_socket.txt: clarify that ROUTER can be blocking
Problem: zmq_socket doc doesn't mention that router can block on send

Solution: clarify that it may block, and under which conditions
2016-10-04 00:37:50 +03:00
Constantin Rack
44c1d81506 Merge pull request #146 from bluca/dealer_router_async
Problem: zmq_ctx_term asserts with connect-before-bind and sockets with identity over inproc transport
2016-09-24 21:33:05 +02:00
Luca Boccassi
05f1912b63 Problem: Travis CI OSX builds are broken
Solution: add a workaround to reinstall libtool. Travis hasn't fixed
the issue in a month, so time for a little hack until they sort it.
2016-09-24 19:58:35 +01:00
Luca Boccassi
0527673982 Update NEWS for #2117 2016-09-24 19:48:07 +01:00
Luca Boccassi
d38a2d507d Problem: zmq_ctx_term asserts with connect-before-bind and sockets with identity over inproc transport
Solution: check if the connecting inproc socket has been closed
before trying to send the identity.
Otherwise the pipe will be in waiting_for_delimiter state causing
writes to fail and the connect to assert when the context is being
torn down and the pending inproc connects are resolved.
Add test case that covers this behaviour.
2016-09-24 19:45:54 +01:00
Constantin Rack
89cf62b977 Merge pull request #145 from bluca/ipv6_multi_endpoint
Problem: zmq_connect with IPv6 "source:port;dest:port" format is broken
2016-09-17 21:35:56 +02:00
Luca Boccassi
1a51f726a8 Update NEWS for #2107 2016-09-17 20:04:21 +01:00
Luca Boccassi
acab1f487b Problem: zmq_connect with IPv6 "source:port;dest:port" format is broken
Solution: allow for '[' character when doing the basic sanity check
on the TCP endpoint.
Also add unit tests for both IPv4 and IPv6 source;dest format.
2016-09-17 20:04:21 +01:00
Luca Boccassi
8ddf198256 Problem: test_reqrep_tcp does not have IPv6 tests
Solution: add them
2016-09-17 20:04:21 +01:00
Luca Boccassi
67d60b1909 Problem: test_reqrep_tcp does not test multiple endpoints
Solution: add a test for this use case
2016-09-17 19:46:55 +01:00
Luca Boccassi
9c35093782 Problem: test_reqrep_tcp does not test disconnect/unbind
Solution: add disconnect and unbind calls to the test
2016-09-17 19:46:55 +01:00
Luca Boccassi
7bc7395a2a Problem: test_reqrep_tcp is too limited
Solution: refactor it to allow for multiple functionalities to be
tested
2016-09-17 19:46:13 +01:00
Luca Boccassi
7d11efa0e2 Merge pull request #144 from kou/support-mingw-cross-compile
Support cross compile with MinGW on Linux
2016-09-14 16:16:24 +01:00
Kouhei Sutou
f942303cd5 Support cross compile with MinGW on Linux
Linux uses case sensitive file system. So we can't find "wincrypt.h" by
"WinCrypt.h".
2016-09-14 23:28:46 +09:00
Constantin Rack
3f791bb92b Merge pull request #141 from bluca/cmake_dist
Problem: CMake build from dist tarball broken
2016-09-02 10:16:46 +02:00