0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-02 19:35:29 +08:00

7154 Commits

Author SHA1 Message Date
Jeremie Courreges-Anglas
941915d142 Problem: needlessly complicated conditionals in Makefile.am
Solution: the generic approach taken in 70b48a9 allows us to use the
same LDFLAGS on most platforms.
2018-12-07 20:36:51 +01:00
Jeremie Courreges-Anglas
386fa6e013 Problem: unused Debian/kFreeBSD-specific code
Solution: delete it
2018-12-07 20:31:25 +01:00
Luca Boccassi
4d1d64b764
Merge pull request #3322 from jcourreges/libtool-export-symbols
Portable solution for library symbols visibility
2018-12-07 18:06:36 +00:00
Luca Boccassi
36745fbf0d
Merge pull request #3324 from jcourreges/jcourreges-relicense
Relicensing grant for my contributions (jcourreges)
2018-12-07 18:05:36 +00:00
Jérémie Courrèges-Anglas
70b48a9c0c Problem: --version-script not used on OpenBSD
Solution: switch to libtool symbol visibility support, which leads to
more portable constructs in the autotools glue.  As noted in the libtool
documentation "This option has no effect on some platforms."

After this commit, global symbols intended to be kept private will
disappear on platforms that were previously not handled
using -Wl,--version-script.
2018-12-07 18:58:19 +01:00
Jeremie Courreges-Anglas
d20d107b48 Problem: no relicensing grant for my contributions
Solution: add it
2018-12-07 18:54:42 +01:00
Luca Boccassi
eda7f958f9
Merge pull request #3321 from jcourreges/openbsd-build-error
Problem: build fails on OpenBSD due to -Wl in LDFLAGS
2018-12-07 17:24:46 +00:00
Jérémie Courrèges-Anglas
fb4629eea2 Problem: build fails on OpenBSD due to -Wl in LDFLAGS
Solution: remove stray -Wl.
2018-12-07 17:05:49 +01:00
Constantin Rack
f615b8fdfc
Merge pull request #3315 from bluca/news
Problem: 4.3.0 is released, need to update ABI/version
2018-11-28 21:36:56 +01:00
Luca Boccassi
fbf37bb668 Problem: 4.3.0 is released, need to update ABI/version
Solution: bump to 5.2.1 and 4.3.1 respectively
2018-11-28 20:06:23 +00:00
Luca Boccassi
eff190d503 Problem: ABI is not correct for 4.3.0
Solution: bump it to 5.2.0 as new stable APIs have been added
v4.3.0
2018-11-28 20:02:27 +00:00
Luca Boccassi
d411831302 Finalise changelog for 4.3.0 2018-11-28 19:53:33 +00:00
Luca Boccassi
fb7f8b77b8 Problem: NEWS out of date
Solution: mention new version of wepoll and Android Things fix
2018-11-28 19:51:31 +00:00
Luca Boccassi
6ec1a6f2af Problem: whitespace issues introduced by last 2 PRs
Solution: fix them
2018-11-28 19:35:04 +00:00
brubakerjeff
cad2423d82 Consolidation of libatomic checks (#3314)
Problem: compiler might not support atomic warning flag

Solution: check before using it
2018-11-27 09:51:31 +00:00
brubakerjeff
d98325160f Android Things 1.06 with Termux changes (#3312)
* include atomic when needed

* update for tipc

* moved check under android

* added license
2018-11-23 19:27:57 +00:00
Luca Boccassi
1bb0d63f1e
Merge pull request #3310 from sigiesec/update-wepoll-1.5.4
Problem: wepoll 1.5.2 is outdated
2018-11-19 11:46:15 +00:00
Simon Giesecke
df91e1e88a Problem: wepoll 1.5.2 is outdated
Solution: Update to upstream version 1.5.4
2018-11-19 12:02:30 +01:00
Doron Somech
0e95c6c992
Merge pull request #3308 from bluca/draft
Problems: no example for STATISTICS proxy command, no getters for some context options, new events zmq_stopwatch_intermediate proxy STATISTICS and context thread options are eligible to be made STABLE
2018-11-18 16:30:17 +02:00
Luca Boccassi
f1dd84c11f Problem: zmq_proxy STATISTICS eligible for stable
Solution: do it
2018-11-18 13:23:38 +00:00
Luca Boccassi
d61c47ef6f Problem: no example for STATISTICS in proxy manpage
Solution: add it
2018-11-18 13:23:38 +00:00
Luca Boccassi
35c6985e68 Problem: zmq_stopwatch_intermediate is eligible for STABLE
Solution: do it
2018-11-18 13:23:38 +00:00
Luca Boccassi
22c3ecc458 Problem: some context options have no getter
Solution: add one so that class-based bindings can easily use them
2018-11-18 13:23:38 +00:00
Luca Boccassi
92cf6c6451 Problem: new ctx THREAD options are eligible for STABLE
Solution: do it
2018-11-18 13:23:38 +00:00
Luca Boccassi
c347aef794 Problem: new DRAFT monitoring events are eligible for STABLE
Solution: do it
2018-11-18 13:23:38 +00:00
Doron Somech
d349f93c2b
Merge pull request #3306 from bluca/radix_autotools
Problem: radix tree never used in autotools builds
2018-11-13 16:54:45 +02:00
Luca Boccassi
6253591655 Problem: radix tree never used in autotools builds
Solution: add a switch and a default to autoconf
2018-11-13 13:17:12 +00:00
Bill Torpey
25e069d131 Add specific option to select radix tree implementation for subscriptions (#3304)
* Add specific option to select radix tree implementation for subscriptions (defaults to ON if draft API enabled).
2018-11-12 21:57:11 +00:00
Simon Giesecke
d60ed2d626
Merge pull request #3301 from bluca/tests
Problems: some tests still use hard-coded TCP ports, wrong usage of CPPFLAGS, missing NEWS, no way to force C++98 builds and CI for it
2018-11-12 10:42:58 +01:00
Luca Boccassi
f3fde8498d
Merge pull request #3303 from crocket/master
Problem: C4 process is not easily discoverable.
2018-11-10 19:47:00 +00:00
crocket
14ed4e6492 Problem: There is probably no relicensing grant from me, yet.
Solution: Add a relicensing grant.
2018-11-10 21:10:36 +09:00
crocket
8919464fbc Problem: C4 process is not easily discoverable.
Solution: Add 'Contributing' section to README.md
2018-11-10 20:57:17 +09:00
Luca Boccassi
4a0b6c6c6f Problem: compiler warning in unittest_poller
Solution: cast the unused variable
2018-11-09 20:51:20 +00:00
Luca Boccassi
1402f7727e Problem: no automated way to enforce C++98 compatibility
Solution: if the compiler supports it, pass C++98-compat flags.
Currently Clang supports this flag but GCC does not.

Add a new flag to enable it, as building with C++98-compat but also
with -std=gnu++11 will cause a lot of warnings due to the backward
compat ifdefs.

Add a CI job to run it and ensure we don't break compatibility.
2018-11-09 20:51:20 +00:00
Luca Boccassi
f215e13a71 Problem: compiler flags passed to preprocessor in autoconf
Solution: use CXXFLAGS for compiler flags and CPPFLAGS for preprocessor
flags.
2018-11-09 18:54:08 +00:00
Luca Boccassi
79f65b43cf Problem: NEWS does not mention new perf tool
Solution: add it
2018-11-09 17:03:49 +00:00
Luca Boccassi
0e01c27de5 Problem: test_router_notify cannot be ran in parallel
Solution: do not bind to an hard-coded port, use a wildcard.
2018-11-09 16:56:00 +00:00
Luca Boccassi
828812fa72 Problem: test_app_meta cannot be ran in parallel
Solution: do not bind to an hard-coded port, use a wildcard.
2018-11-09 16:46:48 +00:00
Luca Boccassi
2c1c2f8b1b Problem: new tests and perf binaries not ignored by git
Solution: add them to .gitignore
2018-11-09 16:01:19 +00:00
Shubham Lagwankar
3659c1204a Problem: radix tree needs benchmarks and improvements (#3290)
* Problem: radix tree needs benchmarks and improvements

Solution: add a benchmark and make suggested improvements
2018-11-09 10:49:40 +00:00
Simon Giesecke
05e0ab55b8
Merge pull request #3299 from bluca/news
Problem: #3263 not mentioned in NEWS
2018-11-08 14:04:56 +01:00
Luca Boccassi
b1e2c8588e Problem: #3263 not mentioned in NEWS
Solution: add it
2018-11-08 11:53:25 +00:00
Luca Boccassi
a59c010e33
Merge pull request #3298 from pijyoi/signaler_wait1
Problem: using FD_SETSIZE for optimized_fd_set_t is a pessimization
2018-11-07 08:35:04 +00:00
KIU Shueng Chuan
9a15fe7fac use required number of descriptors (1) instead of FD_SETSIZE 2018-11-07 09:58:16 +08:00
Luca Boccassi
63abe83388
Merge pull request #3296 from sigiesec/reapply-session-base-refactoring
Reapply session_base_t refactoring
2018-11-06 21:00:26 +00:00
Simon Giesecke
db09fab47b Problem: compilation broken with Sun Studio
Solution: do not use make_pair
2018-11-06 12:33:19 +01:00
Luca Boccassi
2327661810
Merge pull request #3297 from toonetown/recv-buffer-overflow
Windows apparently returns `WSAENOBUFS` from `recv`
2018-11-06 10:37:59 +00:00
Nathan Toone
fa598579e6 Problem: Assert being triggered when Windows returns WSAENOBUFS from recv call on large buffers.
Solution: Expect `WSAENOBUFS` as a valid response.  See https://github.com/zeromq/libzmq/issues/3263
2018-11-05 16:25:35 -07:00
Nathan Toone
eb74b726c2 Problem: no relicense agreement by toonetown
Solution: added relicense agreement
2018-11-05 16:25:35 -07:00
Simon Giesecke
c590873ff7 Problem: complexity of start_connecting
Solution: extract functions for each protocol
2018-11-05 16:06:21 +01:00
Simon Giesecke
31b0a1dff0
Merge pull request #3295 from bluca/hurd_freebsd_sun
Problem: build broken with Sun Studio, tests fail on debian/kfreebsd and debian/hurd, DRAFT zmq_poll is slow
2018-11-05 12:52:06 +01:00
Luca Boccassi
25ded9e897 Problem: out-of-date TODO in zmq_poll
Solution: remove it
2018-11-05 10:59:12 +00:00
Luca Boccassi
ab1607f813 Problem: poller implementation of zmq_poll is slow
Solution: use it only if there is at least one thread-safe socket,
which is not compatible with the older zmq_poll implementation.
2018-11-05 10:59:12 +00:00
Luca Boccassi
b6f55eac14 Problem: unity build broken with Sun Studio
Solution: define UNITY_WEAK_PRAGMA when building with the Sun compiler
as it does not support the weak attribute.
2018-11-05 10:59:12 +00:00
Luca Boccassi
ffd99fbaf5 Problem: GNU/Hurd does not implement getsockname for ipc
Solution: skip tests that use ipc://* as it's impossible to get the
address back for the client
2018-11-05 10:59:12 +00:00
Luca Boccassi
bd9011fe3b Problem: build broken with Sun Studio
Solution: temporary revert refactoring until it can be properly fixed.

Revert "Problem: complexity of start_connecting"

This reverts commit 6d7aeb056f11e6fd2429fa90bc175da0922d306b.
2018-11-05 10:58:45 +00:00
Luca Boccassi
54295cb342 Problem: passing tests on debian/kfreebsd marked as XFAIL
Solution: use a different system variable for debian/hurd and
debian/kfreebsd so that the tests are skipped only on hurd.
2018-11-04 18:12:55 +00:00
Luca Boccassi
205573f1a3 Problem: typo in RUN_TEST macro breaks debian/kfreebsd build
Solution: fix it
2018-11-04 18:12:18 +00:00
Luca Boccassi
320741f2c9
Merge pull request #3294 from bluca/stalebot
Problem: stale bot didn't parse labels correctly
2018-11-04 16:20:40 +00:00
Luca Boccassi
1b8a821222 Problem: stale bot label exceptions not correct
Solution: quote the labels with a space, upstream documentation
(not displayed on the Github page) suggests this should finally work
2018-11-04 15:50:40 +00:00
Doron Somech
b8b98bc601
Merge pull request #3293 from bluca/stalebot
Problem: stale issues linger on Github
2018-11-04 16:30:54 +02:00
Luca Boccassi
ecf1e31db7 Problem: stale issues linger on Github
Solution: enable Stable Bot to automatically mark an issue as stale
after 365 days of inactivity and close it after further 56 days.

Issues marked with the following labels are excluded:

 - Help Request
 - Feature Request
 - Problem reproduced
 - Critical
2018-11-04 14:18:54 +00:00
Doron Somech
c5dab3b4f3
Merge pull request #3292 from bluca/news
Problem: NEWS still out of date
2018-11-04 16:07:53 +02:00
Luca Boccassi
d330d01076 Problem: NEWS still out of date
Solution: mention all relevant bug fixes, features and changes
2018-11-04 14:05:03 +00:00
Simon Giesecke
b03d6605a1
Merge pull request #3288 from bluca/news
Problems: wrong version and outdated NEWS
2018-11-02 18:59:28 +01:00
Luca Boccassi
cb1970e136
Merge pull request #3291 from WallStProg/master
Some changes for CMakeLists.txt:
2018-11-02 17:47:41 +00:00
Bill Torpey
981cff5c93 RELICENSE: Bill Torpey 2018-11-02 12:25:04 -04:00
Bill Torpey
4e8c72c32f RELICENSE: Bill Torpey 2018-11-02 12:20:38 -04:00
Bill Torpey
29c369ff0b Some changes for CMakeLists.txt:
- MacOS version requires CMake version 3.0.2 (because of policy CMP0042)
- Add option to build instrumented binaries with Address Sanitizer
- Add option to select compiler intrinsics for atomic ops
- Only build docs on request (saves build time)
2018-11-02 11:10:14 -04:00
Luca Boccassi
34f23bea82 Problem: NEWS not up to date
Solution: partially list changes since 4.2.5. Not yet complete.
2018-11-01 22:05:25 +00:00
Luca Boccassi
1f3d4dfbea Problem: wrong new version
Solution: bump back from 4.3.1 to 4.3.0
2018-11-01 20:14:30 +00:00
Simon Giesecke
efc9a3021f
Merge pull request #3287 from bluca/radix_draft
Problem: new radix tree implementation is experimental
2018-11-01 11:04:15 +01:00
Luca Boccassi
8f69122981 Problem: new radix tree implementation is experimental
Solution: use it only for DRAFT builds for now, to leave it time to be
tested and stabilised.
2018-10-31 14:47:57 +00:00
Luca Boccassi
fc4115887c
Merge pull request #3286 from ssbl/master
Problem: potentially large memory footprint of trie as number of subscriptions increases (issue #1400)
2018-10-31 14:45:15 +00:00
Shubham Lagwankar
87d2919066 Problem: no relicense agreement by ssbl
Solution: add it
2018-10-31 07:49:55 -04:00
Shubham Lagwankar
c68afb412e Problem: potentially large memory footprint of trie as number of
subscriptions increases

Solution: use a radix tree instead of a trie to store subscriptions
2018-10-31 07:49:55 -04:00
Luca Boccassi
9861d16cfc
Merge pull request #3285 from bjovke/my_work
Problem: Use of pipe_t after free in zmq::socket_base_t::term_endpoint(). Issue #3245.
2018-10-30 17:57:45 +00:00
Bunjevacki, Jovan
f5d1d5d1af Problem: Use of pipe_t after free in zmq::socket_base_t::term_endpoint(). Issue #3245.
Solution: When pipe_t is freed (terminated) remove it from _endpoints member of zmq::socket_base_t. Resolves issue #3245.
2018-10-30 14:12:29 +01:00
Luca Boccassi
3863c869cc
Merge pull request #3284 from lhftio/udp-multicast-hops
Add support for UDP multicast ttl (ZMQ_MULTICAST_HOPS)
2018-10-30 09:41:11 +00:00
Conrad Parker
4ce402687a Problem: no relicense agreement by kfish
Solution: add relicense agreement
2018-10-30 08:14:29 +00:00
Conrad Parker
22083d7d62 Problem: UDP does not support ZMQ_MULTICAST_HOPS
Solution: add support for ZMQ_MULTICAST_HOPS (IP_MULTICAST_TTL)
2018-10-30 08:14:26 +00:00
Luca Boccassi
7064c3a55f
Merge pull request #3283 from hpsaturn/av/relicense
Relicense statement for Hpsaturn
2018-10-27 19:35:50 +01:00
Luca Boccassi
7c0017c55d
Merge pull request #3272 from hpsaturn/av/fix_for_android
fix for android building
2018-10-27 19:35:17 +01:00
Antonio Vanegas
e8c816f250 Relicense statement for Hpsaturn 2018-10-27 12:59:09 -05:00
Luca Boccassi
cbf29b5355
Merge pull request #3281 from ojura/patch-3
Relicense statement for Juraj Oršulić
2018-10-26 09:11:12 +01:00
Luca Boccassi
006f1e6773
Merge pull request #3278 from ojura/master
Always include ZMQSourceRunChecks.cmake
2018-10-26 09:10:57 +01:00
Juraj Oršulić
a48b7a7d93
Relicense statement for Juraj Oršulić 2018-10-26 09:20:13 +02:00
Juraj Oršulić
3942195817
Update CMakeLists.txt 2018-10-22 14:08:02 +02:00
Antonio Vanegas
69ac7a934c fix for android building 2018-10-09 16:49:19 -05:00
Luca Boccassi
cfc9d5f519 Problem: trailing whitespace breaks clang-format-check
Solution: fix issue introduced by #3270
2018-10-08 17:17:13 +01:00
Luca Boccassi
b9b325ce3b
Merge pull request #3271 from gabm/Relicense
Problem: gabm didn't signalise his consent to relicense libzmq
2018-10-08 17:15:03 +01:00
gabm
c1ac158f50 Problem: The flag that indicates the next expected message gets set even if the send fails (#3270)
* ZMQ_DGRAM: flip more flag after successful send

In the dgram socket we have a flag that indicates the next expected message type to ensure that always a pair of "address" + "body" messages gets sent. The first one MUST have the sendmore flag, the second MUST NOT.

In case the message does not get sent because of HWM full, then the function returns EAGAIN as it should. But unfortunately the next expected message type-flag gets flipped as well. When the socket_base::send function now tries to resend the message, it became the wrong message type... If you don't stop sending pairs of messages here (like me) then the next message that gets through will be of the wrong type, which in turn crashes the udp_engine function as described in #3268
2018-10-08 17:14:45 +01:00
Matthias Gabriel
439e57f091 grant relicense permission 2018-10-08 16:00:30 +02:00
Luca Boccassi
501d0815bf
Merge pull request #3267 from glemercier/master
Problem: Compilation with strict AARCH64 compilers is broken
2018-10-07 20:13:32 +01:00
Gregory Lemercier
ffe62d3398 Fix build on arm64 architectures with some strict compilers
This patch fixes an issue that occurs on 64-bit architetures under
strict compiler rules. The code initially checked that the received
size stored in 'uint64_t' was not bigger than the max value of a
'size_t' variable, which is legitimate on 32-bit architectures where
'size_t' variables are stored on 32 bits. On 64-bit architectures,
this test no longer makes sense since 'uint64_t' and 'size_t' types
have the same size. The issue is fixed by ignoring this portion
of code when built for arm64.
2018-10-07 18:23:08 +02:00
Gregory Lemercier
2e2806d744 Adds relicensing grant 2018-10-07 18:23:08 +02:00
Luca Boccassi
6ee048992f
Merge pull request #3266 from antonrd/issue-2488-zmq_msg_send-doc-fix
[ISSUE 2488] Updates the zmq_msg_send doc
2018-10-01 15:23:05 +01:00
Anton Dimitrov
b15aa40212 Adds relicensing grant 2018-10-01 17:11:04 +03:00
Anton Dimitrov
860c905e5a Removes unneeded trailing spaces in doc. 2018-10-01 17:10:47 +03:00
Anton Dimitrov
082457b6d0 Problem: zmq_msg_send doc incomplete return value description (issue #2488)
Solution: Add more information to the doc specifying that MAX_INT is the maximum
possible return value.
2018-10-01 17:00:21 +03:00