0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-15 02:07:59 +08:00

6104 Commits

Author SHA1 Message Date
Luca Boccassi
e3cbdf4b93 Problem: ZMQ_LINGER doc change not in NEWS
Solution: add it
2017-11-23 17:27:09 +00:00
Luca Boccassi
90ea11c999
Merge pull request #2847 from fnaime/default_linger
Wrong ZMQ_LINGER default value
2017-11-23 17:24:37 +00:00
fnaime
da9bc91053
Wrong ZMQ_LINGER default value
Problem: Wrong linger default value

Solution: correct documentation
2017-11-23 14:15:09 -02:00
Jim Klimov
9f83a5988d
Merge pull request #2844 from bluca/cmake_double_build
Problems: CMake rebuilds everything twice, warnings with Tweetnacl, no autoconf option to disable Werror
2017-11-20 20:32:10 +01:00
Luca Boccassi
574d72b0e2 Problem: Travis builds with brew fail
Solution: add workaround until Travis really fixes the issue:
https://github.com/travis-ci/travis-ci/issues/8552
2017-11-20 15:55:35 +00:00
Luca Boccassi
08289d8f33 Problem: cannot disable Werror with autoconf
Solution: add --disable-Werror flag like the existing
--disable-pedantic or CMake's -DLIBZMQ_WERROR=OFF
Fixes #2818
2017-11-20 15:55:35 +00:00
Luca Boccassi
0298d037d0 Problem: CMake rebuilds everything twice
Solution: build all the objects separately before the link step, to
avoid rebuilding when doing both static and shared builds
2017-11-20 15:55:35 +00:00
Luca Boccassi
5264d49eab Problem: duplicate definition in CMake tweetnacl builds
Solution: don't redefine preprocessor macro if it's already defined in
platform.hpp
2017-11-19 12:47:05 +00:00
Constantin Rack
b3bf51716e
Merge pull request #2842 from bluca/accept4
Problem: accept4 not available on all platforms
2017-11-18 13:00:13 +01:00
Luca Boccassi
ac552ba448 Problem: accept4 not available on all platforms
Solution: check for availability in CMake and autoconf before using it
2017-11-18 11:33:53 +00:00
Constantin Rack
0d0d72e836
Merge pull request #2841 from bluca/news
Problems: no NEWS for 4.2.3, missing some events docs, whitespace in header
2017-11-18 10:00:54 +01:00
Luca Boccassi
5a8fd337fd Problem: NEWS not up to date
Solution: add main features and bug fixes
2017-11-17 18:15:25 +00:00
Luca Boccassi
e523adf3da Problem: new monitor events missing from docs
Solution: add them
2017-11-16 22:00:14 +00:00
Luca Boccassi
7a7c776abb Problem: trailing whitespace in include/zmq.h
Solution: remove it
2017-11-16 21:54:15 +00:00
Luca Boccassi
d49b0fad6d
Merge pull request #2840 from ccpaging/master
Problem: Build fails in Visual Studio 2008 without `stdint.h`
2017-11-16 11:48:30 +00:00
Simon Giesecke
700d7cd142
Merge pull request #2839 from bluca/linger_test
Problems: test_security_{zap|curve} often hangs, debian builds ignore test failures hiding issues
2017-11-16 10:07:14 +01:00
ccpaging
e8ad51e62f Clean code for Visual Studio 2008 compiler 2017-11-16 14:09:13 +08:00
Luca Boccassi
741e5c3db4 Problem: debian builds ignore test failures hiding issues
Solution: make test failures fail the build
2017-11-16 00:47:24 +00:00
Luca Boccassi
de8f14adf5 Problem: test_security_{zap|curve} often hangs
Solution: set 0 linger on the sockets immediately after creating them
rather than immediately before closing them.
Running through helgrind/drd highlights a few race conditions, one of
which is the setting of linger vs checking it when closing the socket.
Work around it by setting it immediately to fix the test hangs.
2017-11-16 00:44:29 +00:00
Jim Klimov
d2b6985028
Merge pull request #2833 from bluca/stream_test_parallel
Problem: test_stream_exceeds_buffer cannot be ran in parallel
2017-11-13 13:23:50 +01:00
Luca Boccassi
cffc1c4d2d
Merge pull request #2832 from ebyrob/fix-doc-zmq_msg_init-zmq_recv
Change zmq_recv to zmg_msg_recv since zmq_msg_t used there.
2017-11-10 16:02:15 +00:00
ebyrob
d7926d6d5a
Change zmq_recv to zmg_msg_recv since zmq_msg_t is only used with the zmg_msg_recv style functions. 2017-11-10 09:06:16 -05:00
Luca Boccassi
498c6bbb67 Problem: test_stream_exceeds_buffer cannot be ran in parallel
Solution: bind to wildcard and let the OS pick a free port instead
of using an hard-coded 12345 TCP port
2017-11-10 09:49:54 +00:00
Luca Boccassi
e10b350630
Merge pull request #2827 from korli/haiku
add Haiku support
2017-11-09 11:56:17 +00:00
Jerome Duval
23f89f4671 add Haiku support
* link against libnetwork.so for network functions.
2017-11-09 12:22:25 +01:00
Luca Boccassi
aafdeb7687
Merge pull request #2825 from rolftimmermans/req_relaxed_has_out
Problem: REQ socket with ZMQ_REQ_RELAXED does not report ZMQ_POLLOUT when queried for events after first message.
2017-11-08 10:18:27 +00:00
Rolf Timmermans
c8592dfbc3 Problem: REQ socket with ZMQ_REQ_RELAXED does not report ZMQ_POLLOUT when queried for events after first message.
Solution: Check for strictness before returning false if no reply has been received.
2017-11-08 09:55:14 +01:00
Simon Giesecke
b3d19ffe1a
Merge pull request #2813 from AntonBarwald/master
Problem: Sometimes on OSX we get ETIMEDOUT instead of EAGAIN
2017-11-02 17:35:00 +01:00
Anton Bärwald
630f6d6ae7 Problem: On OSX usleep() changes the errno value
Solution: Update errno value after calling usleep()
2017-11-02 16:01:11 +01:00
Luca Boccassi
812e756264 Merge pull request #2809 from sigiesec/optimize-select-win
Optimize select on Windows; reduce code duplication in select_t
2017-10-26 14:08:38 +01:00
sigiesec
f9d7eea6f9 Problem: code duplication
Solution: unified Windows & non-Windows code further
2017-10-26 11:05:39 +02:00
sigiesec
e7817ad38d Problem: code duplication
Solution: reduced code duplication by introducing local variables and
new function trigger_events
2017-10-26 10:47:05 +02:00
sigiesec
37914d1be2 Problem: get_fd_family call is expensive and called frequently for the
same fds

Solution: cache results of get_fd_family
2017-10-26 09:46:11 +02:00
Luca Boccassi
2b75a9ef18 Merge pull request #2806 from sigiesec/initialize-wsaevents-only-when-used
Problem: wsa_events are initialized/destroyed within every loop
2017-10-25 17:58:35 +01:00
sigiesec
cd32603c0e Problem: wsa_events are initialized/destroyed within every loop
iteration even if not used

Solution: Move wsa_events closer to usage
2017-10-25 18:30:03 +02:00
Luca Boccassi
dec3af4d69 Merge pull request #2803 from f18m/master
Change ZMQ_THREAD_AFFINITY to ZMQ_THREAD_AFFINITY_CPU_ADD/REMOVE
2017-10-25 09:35:49 +01:00
f18m
2aa0e6fd4d Change ZMQ_THREAD_AFFINITY to ZMQ_THREAD_AFFINITY_CPU_ADD/ZMQ_THREAD_AFFINITY_CPU_REMOVE. Avoid prefix thread names when no prefix was set. 2017-10-25 09:55:47 +02:00
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