Luca Boccassi
cb266ee073
Merge pull request #2619 from diorcety/winxp
...
Partial Windows XP support
2017-10-24 13:05:48 +01:00
Yann Diorcet
81327af557
Partial Windows XP support
2017-10-24 13:12:34 +02:00
Luca Boccassi
d459542176
Merge pull request #2800 from sigiesec/optimize-blob-t-router
...
Problem: one missed optimization opportunity for blob_t map lookup
2017-10-23 10:49:13 +01:00
Simon Giesecke
7ec58b279a
Problem: one missed optimization opportunity for blob_t map lookup
...
Solution: create referencing blob_t
2017-10-23 11:12:15 +02:00
Luca Boccassi
54ca01ac0e
Merge pull request #2799 from sigiesec/optimize-map-ops
...
Problem: use of std::map::insert is inefficient
2017-10-22 17:00:57 +01:00
Simon Giesecke
a4aceb272b
Problem: use of std::map::insert is inefficient
...
Solution: use std::map::emplace instead, where available
2017-10-22 17:15:00 +02:00
Luca Boccassi
07eb52cbad
Merge pull request #2797 from zeromq/fix-zmq-atomic-counter-value-docs
...
Problem: description of return value is cloned from zmq_atomic_counter_new
2017-10-21 16:23:20 +01:00
Simon Giesecke
439e49bca1
Problem: description of return value is cloned from zmq_atomic_counter_new
...
Solution: provide correct description
Fixes #2789
2017-10-21 17:21:00 +02:00
Simon Giesecke
0897b3e07b
Problem: excessive memory allocations around blob_t ( #2796 )
...
* Problem: excessive memory allocations around blob_t
Solution: redefine blob_t as a custom type, and use reference/move
semantics where possible
2017-10-21 12:19:51 +01:00
Simon Giesecke
cfef04035c
Clarify usage of zmq_close ( #2792 )
...
* Clarify usage of zmq_close
2017-10-18 15:27:00 +01:00
Luca Boccassi
2c247271a3
Merge pull request #2793 from sigiesec/timeout-comment
...
Problem: comment before sndtimeo/rcvtimeo does not specify dimension
2017-10-18 14:33:09 +01:00
sigiesec
cfb2129557
Problem: comment before sndtimeo/rcvtimeo does not specify dimension
...
Solution: add "milliseconds"
2017-10-18 15:04:54 +02:00
Doron Somech
835df92241
Merge pull request #2791 from bluca/centos6
...
Problems: DRAFT build broken in CentOS 6, missing bits in documentation
2017-10-17 18:56:52 +03:00
Luca Boccassi
cfe44284f7
Merge pull request #2790 from youRFate/master
...
added note concerning issue 2788 to INSTALL
2017-10-17 15:09:24 +01:00
youRFate
4e1588c4c3
added note concerning issue 2788 to INSTALL
2017-10-17 16:04:03 +02:00
Luca Boccassi
bd2ff7fbf8
Problem: DRAFT build broken with old GCC due to missing SIZE_MAX
...
Solution: define __STDC_LIMIT_MACROS in test_timers.cpp before
including testutil.hpp so that the definitions are included
2017-10-17 14:13:28 +01:00
Luca Boccassi
fe96697e8b
Merge pull request #2787 from youRFate/master
...
added libiphlpapi to PKGCFG_LIBS_PRIVATE for static mingw builds
2017-10-17 13:39:31 +01:00
Luca Boccassi
2e2c22dd5b
Problem: DRAFT build broken with old GCC due to GNU modifier
...
Solution: print unsigned integers instead of size_t to avoid the error:
error: ISO C++ does not support the 'z' gnu_printf length modifier
due to very old version of GCC.
2017-10-17 13:36:10 +01:00
youRFate
6df5e771bb
added libiphlpapi to PKGCFG_LIBS_PRIVATE for static mingw builds
2017-10-17 14:30:09 +02:00
Luca Boccassi
55a347c7da
Problem: zmq_proxy_steerable manpage does not mention multipart
...
Solution: mention that the STATISTICS command returns a message with 8
frames
2017-10-17 13:20:34 +01:00
Luca Boccassi
cc8d3586cd
Problem: formatting error in zmq_ctx_set
...
Solution: fix it
2017-10-17 13:18:46 +01:00
Luca Boccassi
fa5443e92f
Merge pull request #2786 from f18m/affinity-scheduling-docs
...
Increase details in docs
2017-10-17 13:16:37 +01:00
f18m
b95ef430be
Add docs for ZMQ_THREAD_NAME_PREFIX
2017-10-17 14:11:42 +02:00
f18m
e12f3e68c0
Increase details in docs
2017-10-17 14:03:53 +02:00
f18m
f25cd6e7be
Background thread names ( #2784 )
...
* Add ZMQ_THREAD_NAME_PREFIX ctx option
2017-10-17 12:06:50 +01:00
Doron Somech
9af03e2214
Merge pull request #2785 from bluca/travis_norm
...
Problem: Travis does not build with NORM
2017-10-17 14:03:01 +03:00
Luca Boccassi
5311aa9cd9
Problem: Travis does not build with NORM
...
Solution: install package and enable the build on some Linux jobs
2017-10-17 11:17:13 +01:00
Luca Boccassi
189b551b40
Merge pull request #2783 from f18m/docs-proxy-stats
...
Add documentation for new steerable proxy command
2017-10-17 11:08:00 +01:00
f18m
e2678b8b11
Add documentation for new steerable proxy command
2017-10-17 11:08:09 +02:00
Jim Klimov
920288b5b7
Merge pull request #2781 from bluca/norm_pkgconfig
...
Problems: autoconf does not use pkgconfig for NORM, deb packages do not build with libnorm
2017-10-17 02:29:25 +02:00
Luca Boccassi
9ad8ddf401
Problem: deb packages do not build with libnorm
...
Solution: add dependency and configure flag
2017-10-16 23:32:15 +01:00
Luca Boccassi
78cdff3a3e
Problem: autoconf does not use pkgconfig for NORM
...
Solution: use the pkgconfig macro as the first step and then fallback
to manual checks
2017-10-16 23:23:32 +01:00
Constantin Rack
39ad27c970
Merge pull request #2779 from bluca/thread_fixes
...
Problems: no documentation for new thread affinity and priority options, test_ctx_options only checks global DRAFT flag
2017-10-16 14:05:21 +02:00
Luca Boccassi
e5e83c53e5
Problem: ZMQ_THREAD_AFFINITY is not documented
...
Solution: add a section in zmq_ctx_set's manpage
2017-10-16 12:43:34 +01:00
Luca Boccassi
1478517e1a
Problem: use of nice() for ZMQ_THREAD_PRIORITY not documented
...
Solution: mention that it is used on Linux when SCHED_OTHER is selected
2017-10-16 12:42:59 +01:00
Luca Boccassi
4c2a95eab2
Problem: test_ctx_options only checks global DRAFT flag
...
Solution: this will break once the tested APIs move from DRAFT to STABLE
so instead check for the specific macros.
2017-10-16 12:34:13 +01:00
f18m
bfbb4ff2e9
Background threads enhancements ( #2778 )
...
* Background thread scheduling
- add ZMQ_THREAD_AFFINITY ctx option; set all thread scheduling options
from the context of the secondary thread instead of using the main
process thread context!
- change ZMQ_THREAD_PRIORITY to support setting NICE of the background
thread when using SCHED_OTHER
2017-10-16 12:29:03 +01:00
Constantin Rack
577e713e2c
Merge pull request #2775 from arsenm/master
...
Add my RELICENSE
2017-10-13 08:56:19 +02:00
Matt Arsenault
5f03120ac5
Add my RELICENSE
2017-10-12 22:14:39 -07:00
Constantin Rack
23da2347bd
Merge pull request #2773 from bluca/zap
...
Problems: strict ZAP protocol adherence is backward incompatible, minor static analysis warnings
2017-10-09 20:29:08 +02:00
Luca Boccassi
b6aee51691
Problem: strict ZAP protocol adherence is backward incompatible
...
Solution: add ZMQ_ZAP_ENFORCE_DOMAIN to hide backward incompatible
change and make it disabled by default.
In a future release that breaks API compatibility we can then switch
the default to enabled in order to achieve full RFC compatibility.
Fixes #2762
2017-10-09 17:48:33 +01:00
Luca Boccassi
50bddbaac9
Problem: dead code in options.hpp
...
Solution: remove unused zap_ipc_creds boolean variable
2017-10-09 13:52:56 +01:00
Luca Boccassi
e3ee55b191
Problem: missing indentation for UDP branch
...
Solution: fix it
2017-10-09 13:52:56 +01:00
Luca Boccassi
c8f3f8a5da
Problem: ambiguos bitwise ANDs in if statements
...
Solution: wrap bitwise ANDs in brackets as the static analyzer suggests
2017-10-09 13:52:56 +01:00
Constantin Rack
136431ebf7
Merge pull request #2769 from bluca/ipc_fixes
2017-10-07 21:53:24 +02:00
Constantin Rack
a6de31fff6
Merge pull request #2771 from bluca/lcov_autoconf
...
Problem: lcov autoconf macro out of date
2017-10-06 23:42:04 +02:00
Luca Boccassi
6a9dec30a9
Problem: lcov autoconf macro out of date
...
Solution: update it
2017-10-06 19:37:46 +01:00
Luca Boccassi
ed64585e93
Problem: test_rebind_ipc might not see race condition on fast envs
...
Solution: pre-create the second socket to save a few cycles between
closing the old one and binding the new one
2017-10-06 11:32:14 +01:00
Luca Boccassi
53f463a3fa
Problem: test_rebind_ipc uses generic socket file name
...
Solution: name it after the test to avoid possible clashes when
running tests in parallel.
2017-10-06 11:08:40 +01:00
Luca Boccassi
7ad06f1449
Problem: IPC event_closed logs -1 as the FD
...
Solution: take a copy of the file descriptor before setting it to
retired_fd.
2017-10-06 09:53:59 +01:00
Luca Boccassi
9be8cebd21
Merge pull request #2765 from GreatFruitOmsk/issue-2764
...
Problem: Race condition in IPC sockets
2017-10-06 09:25:33 +01:00
Ilya Kulakov
656cdb959a
Problem: Race condition in IPC sockets
...
Solution: Don't unlink file on close
File may not belong to the socket at that point.
2017-10-05 14:57:10 -07:00
Luca Boccassi
01a3f3955c
Merge pull request #2768 from ADDubovik/master
...
fix build for msvc2017
2017-10-05 21:18:19 +01:00
Alexander Dubovik
02c46463d7
fix build for msvc2017
2017-10-05 22:54:12 +03:00
Luca Boccassi
99c527702b
Merge pull request #2766 from hxw/master
...
add __FreeBSD__ to ifdefs
2017-10-05 09:17:51 +01:00
Christopher Hall
997825bdf1
add __FreeBSD__ to ifdefs
...
On FreeBSD the sysmbol __FreeBSD_kernel__ is only defines if a
specific param.h file is included, unlike Debian/kFreeBSD where this
symbol is always defined. So also compile the FreeBSD specific code
if __FreeBSD__ is defined for FreeBSD 11 & 12 compatibility.
Signed-off-by: Christopher Hall <hsw@ms2.hinet.net>
2017-10-03 15:30:42 +08:00
Luca Boccassi
44f96a3652
Merge pull request #2745 from sigiesec/rename-identity
...
Problem: term "identity" is confusing
2017-09-20 10:08:45 +02:00
Constantin Rack
f6688f0516
Merge pull request #2756 from bluca/reconnect_ivl_connect
...
Problem: zmq_connect fails after disconnect due to RECONNECT_IVL == -1
2017-09-20 07:46:19 +02:00
sigiesec
2c8a7223b8
Problem: remaining use of "identity"
...
Solution: replaced by "routing id"
2017-09-19 17:55:00 +02:00
sigiesec
7e3f4b1d32
Problem: ZMTP protocol broken w.r.t. Identity property
...
Solution: differentiate propertly between ZMTP property names and ZeroMQ API property names
2017-09-19 17:55:00 +02:00
sigiesec
a5e3a65ae2
Problem: inconsistency between zmq.h and zmq_draft.h
...
Solution: fix zmq_draft.h
2017-09-19 17:55:00 +02:00
sigiesec
4b821d8f84
Problem: remaining uses of "identity"
...
Solution: replaced by "routing id"
2017-09-19 17:54:59 +02:00
sigiesec
1414bf938c
Problem: use of unqualified "id" in code example
...
Solution: use "routing_id" instead
2017-09-19 17:54:52 +02:00
sigiesec
d6694e7d47
Problem: Use of "rid" in the docs
...
Solution: Replaced by "routing id"
2017-09-19 17:53:54 +02:00
sigiesec
12f62c74c1
Problem: docs refer to "Identity"
...
Solution: change docs to refer to "Routing id"
2017-09-19 17:53:54 +02:00
sigiesec
fab57634b4
Problem: Message metadata properties still refer to "identity"
...
Solution: Renamed, but support querying the property by its old name
2017-09-19 17:53:53 +02:00
sigiesec
27c7e52a5a
Problem: Usage of "rid" in server_t
...
Solution: Replaced by "routing_id"
2017-09-19 17:53:53 +02:00
sigiesec
41bae55af7
Problem: inconsistent naming related to routing ids
...
Solution: renamed routing_id fields in pipe_t, renamed ZMQ_CONNECT_RID to ZMQ_CONNECT_ROUTING_ID
2017-09-19 17:53:53 +02:00
sigiesec
9e7507b38b
Problem: term "identity" is confusing
...
Solution: replace by "routing id"
2017-09-19 17:53:44 +02:00
Luca Boccassi
76dfec7fc3
Merge pull request #2755 from sigiesec/client-side-error
...
Problem: tests where client should receive an ERROR sometimes do not
2017-09-19 16:48:37 +02:00
Luca Boccassi
edb4ca1023
Problem: zmq_connect fails after disconnect due to RECONNECT_IVL == -1
...
Solution: when a connection breaks and ZMQ_RECONNECT_IVL is set to -1,
which means a reconnection will not be attempted, send a message from
the I/O thread to the application thread to make the socket call
term_endpoint, which is the equivalent of manually calling
zmq_disconnect.
This way subsequent zmq_connect call to the same endpoint will attempt
again to do a connection.
Otherwise, for some socket types like SUBs, those new connects will
fail as the endpoint is recorded, despite the connection having been
permanently closed.
Add test cases to exercise this corner case with TCP and IPC.
2017-09-19 14:05:43 +01:00
sigiesec
e0243dcbca
Problem: tests where client should receive an ERROR sometimes do not
...
receive an ERROR (probably because the connection is closed before)
Solution: wait for client-side monitor events before closing the client
socket
Fixes #2705
2017-09-19 11:16:05 +02:00
Luca Boccassi
843e627bed
Merge pull request #2753 from zeromq/zap-domain-docs
...
Problem: documentation of ZMQ_ZAP_DOMAIN is wrong
2017-09-19 10:17:15 +02:00
sigiesec
7297df6278
Problem: documentation of ZMQ_ZAP_DOMAIN is wrong
...
Solution: fix documentation
2017-09-19 09:13:57 +02:00
Luca Boccassi
e2f2193bec
Merge pull request #2752 from sigiesec/test-no-zap-handler
...
Problem: missing tests and inconsistent behaviour for ZAP corner cases
2017-09-18 20:19:14 +02:00
sigiesec
77f76a49b2
Problem: no tests for cases 5 and 6 of #2711
...
Solution: added tests
2017-09-18 18:43:32 +02:00
sigiesec
e546f9296e
Problem: duplicated code & inconsistent behaviour between
...
mechanisms
Solution: uniformly require a ZAP domain to be set to activate ZAP
handling, clarify comment on Stonehouse pattern
2017-09-18 17:01:38 +02:00
sigiesec
ee8b8bd29c
Problem: no test for ZAP handler terminating in flight
...
Solution: added test & some improvements of test utils
2017-09-18 16:54:03 +02:00
sigiesec
a5f94cb610
Problem: tests without ZAP handler are failing
...
Solution: emit events as expected by tests, and refuse connections when
ZAP is required but no handler started
Addresses #2711 partially
2017-09-18 12:58:09 +02:00
sigiesec
13b972b226
Problem: no tests without ZAP handler where one is expected
...
Solution: added test case for NULL/PLAIN/CURVE
2017-09-18 10:26:28 +02:00
Jim Klimov
9071265c02
Merge pull request #2751 from bluca/centos6
...
Problem: CentOS 6 build fails
2017-09-18 01:32:49 +02:00
Luca Boccassi
40c1a3ab7e
Problem: CentOS 6 build fails
...
Solution: use same autoconf workaround as for Debian 7, and manually
create the config directory
2017-09-17 20:44:28 +01:00
Luca Boccassi
2e167886cf
Merge pull request #2749 from reza-ebrahimi/master
...
Update AUTHERS File
2017-09-15 00:10:31 +02:00
Luca Boccassi
23c2f4987b
Merge pull request #2748 from tkoeppe/relicense
...
RELICENSE: Google, Inc.
2017-09-14 23:54:41 +02:00
Reza Ebrahimi
633325e0bc
Update AUTHERS File
2017-09-14 22:04:26 +04:30
Thomas Köppe
21d78f4789
RELICENSE: Google, Inc.
...
Relevant commits: ddb82a546b8786b23b977087000e296589529cb2, 68f5926ec65d33043ba3f1687e49d1e6abe47fa2
Also adds AUTHORS entry that should have been part of the previous commits.
2017-09-13 16:31:38 +01:00
Luca Boccassi
5de2a82be8
Merge pull request #2744 from msune/refactor_poller_wait
...
Problem: duplicated socket_poller::wait() code
2017-09-13 00:48:26 +02:00
Marc Sune
5b92989540
Problem: duplicated socket_poller::wait() code
...
zmq::socket_poller_t::wait() had an important set of common lines
between POLL and SELECT variant.
Solution: refactor zmq::socket_poller_t::wait() and add the
following methods:
zmq::socket_poller_t::zero_trail_events()
zmq::socket_poller_t::check_events()
zmq::socket_poller_t::adjust_timeout()
Signed-off-by: Marc Sune <mardevel@gmail.com>
2017-09-12 21:47:57 +02:00
Constantin Rack
18498f620f
Merge pull request #2746 from zeromq/revert-2743-rename-identity
...
Revert "Problem: term "identity" is confusing"
2017-09-07 15:24:07 +02:00
Doron Somech
af03241dcb
Revert "Problem: term "identity" is confusing"
2017-09-07 15:47:43 +03:00
Doron Somech
08b01a5108
Merge pull request #2743 from sigiesec/rename-identity
...
Problem: term "identity" is confusing
2017-09-07 12:58:56 +03:00
sigiesec
cd55c62499
Problem: use of unqualified "id" in code example
...
Solution: use "routing_id" instead
2017-09-07 11:21:13 +02:00
sigiesec
0874eec803
Problem: Use of "rid" in the docs
...
Solution: Replaced by "routing id"
2017-09-07 11:18:50 +02:00
sigiesec
f174003740
Problem: docs refer to "Identity"
...
Solution: change docs to refer to "Routing id"
2017-09-07 11:09:18 +02:00
sigiesec
deae59dca9
Problem: Message metadata properties still refer to "identity"
...
Solution: Renamed, but support querying the property by its old name
2017-09-07 10:33:25 +02:00
sigiesec
ae2ea1a655
Problem: Usage of "rid" in server_t
...
Solution: Replaced by "routing_id"
2017-09-07 10:33:25 +02:00
sigiesec
e00131dd43
Problem: inconsistent naming related to routing ids
...
Solution: renamed routing_id fields in pipe_t, renamed ZMQ_CONNECT_RID to ZMQ_CONNECT_ROUTING_ID
2017-09-07 10:33:13 +02:00
sigiesec
1daf83079a
Problem: term "identity" is confusing
...
Solution: replace by "routing id"
2017-09-06 17:45:56 +02:00
Doron Somech
876d90732d
Merge pull request #2741 from bluca/proxy_stats_typos
...
Problems: typos in proxy_steerable stats
2017-09-06 12:04:57 +03:00
Luca Boccassi
4fac78ec31
Problem: proxy stat 5th multipart message treated as 1st
...
Solution: fix it
2017-09-06 08:27:29 +01:00