Simon Giesecke
89e5313114
Refactored zmq::stream_engine_t::handshake, extracted several sub-methods
2018-08-09 12:41:08 +02:00
Simon Giesecke
c3739ff604
Use static_cast instead of C-style casts, make local variables const where possible, use switch instead of chained if/else, extract rm_helper_multiple_subnodes from rm_helper to reduce nesting
2018-08-09 12:41:08 +02:00
Simon Giesecke
9e2cf35b66
Reduced number of calls to container end method
2018-08-09 12:41:08 +02:00
Luca Boccassi
05e400a3e0
Merge pull request #3203 from sigiesec/update-wepoll
...
Problem: wepoll outdated
2018-08-08 13:45:21 +01:00
Luca Boccassi
d9ade47630
Merge pull request #3202 from sigiesec/code-improvements
...
Simplified and optimized several code fragments
2018-08-08 13:44:48 +01:00
Simon Giesecke
19a70ab682
Optimized and simplified zmq::timers_t::execute and zmq::timers_t::timeout
2018-08-07 16:54:35 +02:00
Simon Giesecke
4f77cfa327
Removed unreachable code paths
2018-08-07 16:11:52 +02:00
Simon Giesecke
198c01e00b
Use more structured for loop instead of while loop
2018-08-07 15:58:15 +02:00
Simon Giesecke
9440f4e5bc
Problem: wepoll outdated
...
Solution: update to wepoll 1.5.2
2018-08-07 15:51:20 +02:00
Simon Giesecke
e4b4372c41
Simplified code
2018-08-07 14:15:35 +02:00
Simon Giesecke
ad3d1e7762
Reduced code duplication between xread and xhas_in
2018-08-07 14:15:35 +02:00
Simon Giesecke
3cca90ea44
Optimized zmq::dish_t::xhas_in
2018-08-07 14:15:35 +02:00
Simon Giesecke
aa1f5739b7
Optimized zmq::dish_t::xrecv
2018-08-07 14:15:35 +02:00
Simon Giesecke
fa976f87f9
Simplified uses of erase
2018-08-07 14:15:35 +02:00
Simon Giesecke
6357890ff6
Removed code duplication in process_commands
2018-08-07 10:17:12 +02:00
chymanfx
da8024d3c9
Problem: No CI for mingw64 ( #3195 )
...
* Problem: No CI for mingw64
Adding CI support for mingw64 to appveyor.yml
Reason: To help address the issue:
Several checks fail under 64-bit MinGW on Windows when running make check #3185
* Problem: Docs do not build with mingw64, dll already in right place
Turning off WITH_DOC for mingw64
Removing copy command for mingw64 and cygwin64 (it now seems to be directly built in "bin" directoy)
2018-07-29 22:40:35 +01:00
Doron Somech
ebe701afc1
Merge pull request #3198 from bluca/timers_draft
...
Problems: no docs for zmq_timers_*, zmq_timers_* have been DRAFT for a long time
2018-07-28 13:59:51 +03:00
Luca Boccassi
3159161cef
Problem: zmq_timers_* are ready for STABLE
...
Solution: move them from DRAFT state to STABLE
2018-07-27 23:07:56 +01:00
Luca Boccassi
efbec8e67f
Problem: zmq_poller manpage is not build
...
Solution: add it to the makefile
2018-07-27 23:05:01 +01:00
Luca Boccassi
06176fde4d
Problem: no documentation for zmq_timers_*
...
Solution: add a manpage
Fixes #3005
2018-07-27 23:04:05 +01:00
Luca Boccassi
bbcdb961a0
Merge pull request #3193 from mvilim/local_attach
...
Race condition with received message causes ZMQ_CONNECT_ROUTING_ID to be assigned to wrong socket
2018-07-27 08:31:55 +01:00
Michael Vilim
8a16fef3cc
Problem: ZMQ_CONNECT_ROUTING_ID can be assigned to incoming socket connection (Issue #3191 )
...
Solution: Add an identifier parameter for local attach to zmq::socket_base_t::attach_pipe
2018-07-26 18:26:35 -05:00
Luca Boccassi
0aa222d07e
Merge pull request #3197 from justusranvier/master
...
Problem: build system does not play nicely as a cmake subproject
2018-07-26 23:46:36 +01:00
Justus Ranvier
458f41e349
Problem: build system does not play nicely as a cmake subproject #3196
...
Solution: avoid exporting targets and installing files if neither
BUILD_SHARED nor BUILD_STATIC is set
2018-07-26 17:18:26 -05:00
Luca Boccassi
f4aad4d1d2
Merge pull request #3194 from QuLogic/cmake-pkgconfig
...
cmake: Install pkgconfig in correct lib directory.
2018-07-26 08:42:28 +01:00
Elliott Sales de Andrade
1e51d6e043
Problem: cmake: pkgconfig always installed in lib.
...
Solution: Use cmake's libdir variable to ensure that the pkgconfig file
ends up in the correct lib/lib64 directory. This matches the autotools
behaviour.
2018-07-26 00:36:46 -04:00
Luca Boccassi
cc4d03fa1c
Merge pull request #3181 from jcfr/support-custom-output-dir
...
cmake: Streamline integration allowing config of CMAKE_*_OUTPUT_DIRECTORY
2018-07-24 23:37:11 +01:00
Andras Lasso
f1aeb7956c
cmake: Fix .dll file location in the build tree
...
This commit ensures that the variable CMAKE_*_OUTPUT_DIRECTORY
are considered when creating the library.
2018-07-24 18:22:47 -04:00
Jean-Christophe Fillion-Robin
b1d4955065
cmake: Streamline integration allowing config of CMAKE_*_OUTPUT_DIRECTORY
...
Setting EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH variables is deprecated
2018-07-24 18:22:45 -04:00
Luca Boccassi
25f47ccbf8
Merge pull request #3187 from MelcoInternational/master
...
Switched android platform check to official form
2018-07-19 00:40:49 +01:00
jdavidberger
3b26c7f8e1
Switched android platform check to official form
...
See https://markmail.org/message/5ekhfztchs45lz3n#query:+page:1+mid:jfqgzrmwm37uyrt6+state:results
2018-07-18 12:14:33 -06:00
Simon Giesecke
7a9933f2e1
Merge pull request #3179 from masariello/master
...
Problem: stack overflow on win64 #2876
2018-06-28 17:06:49 +02:00
Alessio M
9066e0670f
Problem: stack overflow on win64 #2876 . Basically zmq::signaler_t::wait suffers from stack bloating the same way socket_poller was found to be bloated due to the large size of fd_set
...
Solution: replace the fd_set in the routine with an instance of optimized_fd_set_t
2018-06-28 14:11:32 +01:00
jamesdillonharvey
83e1712d67
Update conflate docs to cover issue #3171 ( #3175 )
...
* More info on conflate queue
2018-06-26 10:49:36 +01:00
Luca Boccassi
b0d9a5a2d5
Merge pull request #3174 from ilue/master
...
Fix for issue #3162
2018-06-26 08:09:05 +01:00
Simon Giesecke
0d66067411
Merge pull request #3168 from bluca/recv_sub_cancel
...
Problem: can't process ZMTP 3.1 cancel/subscribe commands
2018-06-25 14:00:42 +02:00
Luca Boccassi
d70714e877
Problem: can't process ZMTP 3.1 cancel/subscribe commands
...
Solution: add some msg helpers to parse commands, and check for
subscribe or cancel commands and process them accordingly in the xpub
and xsub classes.
2018-06-23 17:16:10 +01:00
Luca Boccassi
681e53f369
Problem: libstdc++ symbols exported on Debian/[Hurd|kFreeBSD]
...
Solution: use the --version-script map on those systems as well, as it
is supported
2018-06-23 17:16:10 +01:00
Luca Boccassi
8da4e9b95c
Problem: pgm_sender does not initialise all its class variables
...
Solution: do it to silence static analysis warnings
2018-06-22 22:49:58 +01:00
Luca Boccassi
40606a93fe
Problem: VMCI tests do not build
...
Solution: fix path in Makefile.am
2018-06-22 22:49:58 +01:00
Luca Boccassi
a059d904fe
Problem: binaries and artefacts missing from gitignore
...
Solution: list them
2018-06-22 22:49:58 +01:00
jamesdillonharvey
edec2244d1
update pair doc ( #3170 )
...
* update pair doc
2018-06-21 16:55:18 +01:00
Luca Boccassi
85dfca3087
Merge pull request #3167 from sigiesec/fix-clang-tidy-config-analyze
...
Fix clang-tidy configuration
2018-06-15 10:11:34 +01:00
Simon Giesecke
21ad652a1e
Problem: syntax error in shell script
...
Solution: add missing quotation marks
2018-06-15 10:00:57 +02:00
Simon Giesecke
bd8083e8b8
Problem: wrong quotation marks in .clang-tidy
...
Solution: use correct double quotes
2018-06-15 09:38:44 +02:00
ehilscher
0867c38032
Problem: connecter classes do not handle ZMQ_RECONNECT_IVL of -1 ( #3163 )
...
* Problem: connecter classes do not handle ZMQ_RECONNECT_IVL of -1
Solution: Add guards to prevent a reconnect timer from starting if ZMQ_RECONNECT_IVL is -1
(Issue 3158)
2018-06-12 23:23:39 +01:00
ilue
e22cd678b6
Fix #3162
2018-06-12 11:10:03 +08:00
Luca Boccassi
3a1e8f0704
Merge pull request #3159 from sigiesec/remove-superfluous-mutex
...
Problem: epoll_t employs an unnecessary mutex
2018-06-07 14:17:20 +01:00
Simon Giesecke
75e945f162
Problem: epoll_t employs an unnecessary mutex
...
Solution: remove the mutex
2018-06-06 21:41:16 +02:00
Luca Boccassi
add97caa4f
Merge pull request #3157 from kermitbu/master
...
use cmake compile the unittest
2018-06-06 13:03:07 +01:00
kermit
ba3bc3806c
compile unittests
2018-06-06 18:24:53 +08:00
Luca Boccassi
7e6792ca74
Merge pull request #3156 from sigiesec/add-cygwin64-ci
...
Add cygwin64 CI on Appveyor
2018-06-04 19:02:15 +01:00
Luca Boccassi
aee5fc2560
Merge pull request #3155 from pijyoi/wepoll_missing_files
...
wepoll integration fixes
2018-06-04 17:14:38 +01:00
KIU Shueng Chuan
5a1ea0c398
Problem: ZMQ_USE_EPOLL_CLOEXEC not renamed to new name
...
Solution: rename it
2018-06-04 23:17:57 +08:00
KIU Shueng Chuan
9ca3821d9a
Problem: incomplete wepoll filelist in Makefile.am
...
Solution: add them so that they get included in "make dist"
2018-06-04 23:12:40 +08:00
Simon Giesecke
4a18ed6778
Problem: build fails due to broken cygwin64 tests
...
Solution: allow failure of cygwin64 build
2018-06-04 15:19:13 +02:00
Simon Giesecke
eccf2e53bc
Problem: cygwin build defines ZMQ_HAVE_WINDOWS
...
Solution: do not check for windows.h on cygwin
2018-06-04 15:19:13 +02:00
Simon Giesecke
c5d422c02b
Problem: no CI for cygwin
...
Solution: add cygwin build
2018-06-04 15:19:13 +02:00
Simon Giesecke
d07ddb1bce
Merge pull request #3153 from pijyoi/autoconf_wepoll
...
Problem: not able to use wepoll in configure script
2018-06-03 11:45:44 +02:00
KIU Shueng Chuan
2336e1f170
Problem: not able to use wepoll in configure script
...
Solution: add wepoll as a polling system
2018-06-03 11:55:26 +08:00
pijyoi
c76ac5474b
fix computation of winsock fd_set size ( #3151 )
...
* fix computation of winsock fd_set size
2018-06-02 13:16:33 +01:00
Luca Boccassi
e2a4d770d8
Merge pull request #3150 from sigiesec/reduce-duplication
...
Resolve huge stack size requirements problem with select on Windows
2018-06-01 19:48:17 +01:00
Simon Giesecke
17df28d2b6
Problem: outdated information in INSTALL regarding stack size
...
Solution: removed obsolete information
2018-06-01 18:43:59 +02:00
Simon Giesecke
5ac900a984
Problem: huge size of socket_poller_t object on Windows with select polling
...
Solution: use resizable_optimized_fd_set_t
2018-06-01 18:43:58 +02:00
Simon Giesecke
4a651251a7
Problem: code duplication within socket_poller_t
...
Solution: remove duplicated code
2018-06-01 18:24:42 +02:00
Simon Giesecke
74d3d8421f
Problem: huge stack allocation with select on Windows in socket_poller_t::wait
...
Solution: use optimized_fd_set_t
2018-06-01 18:22:49 +02:00
Simon Giesecke
3d39bb9ca9
Problem: valid_pollset_bytes not reused in socket_poller
...
Solution: use it
2018-06-01 18:22:49 +02:00
Simon Giesecke
a8d62d14c1
Problem: polling utilities not at a reusable location
...
Solution: move to separate header
2018-06-01 18:22:48 +02:00
Simon Giesecke
fa8bc17ef3
Problem: CMake error on Win32 with DRAFTS disabled
...
Solution: guard CMake statement properly
2018-06-01 18:20:11 +02:00
Simon Giesecke
fc92fa897a
Problem: no non-DRAFT Windows build
...
Solution: switch one build to non-draft
2018-06-01 18:20:11 +02:00
Simon Giesecke
7c0efcb588
Problem: huge stack allocation in Windows select code
...
Solution: use fast_vector_t as in poll implementation
2018-06-01 18:20:10 +02:00
Simon Giesecke
2533ffed86
Problem: memcpy code fragment is duplicated
...
Solution: unify between Windows and non-Windows code
2018-06-01 18:19:46 +02:00
Simon Giesecke
04dedfbc2a
Problem: duplicated calculation of valid bytes in select pollset
...
Solution: extract to function
2018-06-01 18:16:46 +02:00
Simon Giesecke
e4c3297ed8
Problem: fragile handling of possibly dynamically allocated pollfds
...
Solution: extract class template fast_vector_t
2018-06-01 17:08:39 +02:00
Simon Giesecke
c6e4b0abb1
Problem: zmq_poll implementation is complex
...
Solution: extract compute_timeout method
2018-06-01 17:08:38 +02:00
Simon Giesecke
3db3bbfbbb
Problem: duplication in implementation zmq_poller_poll
...
Solution: remove duplication
2018-06-01 17:08:38 +02:00
Luca Boccassi
89e5f15ac4
Merge pull request #3149 from sigiesec/analyze
...
Few more code style fixes
2018-05-31 17:57:16 +01:00
Simon Giesecke
67b602fe76
Problem: unused variable warnings for values only used in asserts
...
Solution: use a Debug build for analysis
2018-05-31 11:25:35 +02:00
Simon Giesecke
3cb4754602
Problem: analysis job prolongs overall build
...
Solution: start analysis job first, if enabled, since it takes the longest time
2018-05-31 11:23:04 +02:00
Simon Giesecke
4604014c12
Problem: unused result of call to pull_msg
...
Solution: add TODO comment regarding handling of the result
2018-05-31 11:21:33 +02:00
Simon Giesecke
c2ba553d87
Problem: unused values stored to variable, duplicated code
...
Solution: remove duplicated and redundant code
2018-05-31 11:02:26 +02:00
Simon Giesecke
ee4cdf8bf0
Problem: suspicious use of memcmp result
...
Solution: explicitly compare result against 0
2018-05-31 11:02:26 +02:00
Luca Boccassi
6bfa91f13f
Merge pull request #3145 from sigiesec/analyze
...
More code style fixes and improvements to static analysis configuration
2018-05-31 07:59:43 +01:00
Simon Giesecke
0b8f586d8f
Merge pull request #3144 from bluca/autoconf_taut
...
Problem: autoconf checks tautological compiler flag only for C++
2018-05-30 23:25:03 +02:00
Simon Giesecke
a2f91c5509
Problem: unnecessary passing of non-const data
...
Solution: make const
2018-05-30 23:21:53 +02:00
Simon Giesecke
c641644bb2
Problem: inconsistent parameter names
...
Solution: harmonize
2018-05-30 23:21:52 +02:00
Simon Giesecke
ce4b71c3fa
Problem: cppcoreguidelines-pro-type-static-cast-downcast warnings that are not meant to be resolved
...
Solution: disable cppcoreguidelines-pro-type-static-cast-downcast warning
2018-05-30 23:21:52 +02:00
Simon Giesecke
9e6f1c9a3c
Problem: redundant else after return
...
Solution: remove redundant else
2018-05-30 23:21:52 +02:00
Simon Giesecke
6fa12bd692
Problem: unused stored value warning
...
Solution: add LIBZMQ_UNUSED
2018-05-30 23:21:52 +02:00
Simon Giesecke
0f2979a38e
Problem: assignment used as condition warning
...
Solution: changed condition
2018-05-30 23:21:52 +02:00
Simon Giesecke
24edc828ab
Problem: redundant else after return
...
Solution: remove redundant else
2018-05-30 23:21:52 +02:00
Simon Giesecke
88646438d2
Problem: differing parameter names between declaration and definition
...
Solution: harmonize
2018-05-30 23:21:52 +02:00
Simon Giesecke
6c67fca7e0
Problem: numerous hicpp-signed-bitwise warnings that cannot easily be solved because of externally defined types
...
Solution: disable this warning for now
2018-05-30 23:21:52 +02:00
Simon Giesecke
da4309da13
Problem: violation of parameter naming conventions
...
Solution: change to comply with naming conventions
2018-05-30 23:21:52 +02:00
Simon Giesecke
29f1f39df3
Problem: unused parameter warning
...
Solution: mark parameter as unused depending on platform definitions
2018-05-30 23:21:52 +02:00
Simon Giesecke
b59d7d574d
Problem: typo in parameter name
...
Solution: correct spelling
2018-05-30 22:52:19 +02:00
Simon Giesecke
a91c7e718c
Problem: warnings on violations of CERT ERR-58
...
Solution: declare functions noexcept
2018-05-30 22:52:19 +02:00
Simon Giesecke
0dce223341
Problem: no check if noexcept is supported by compiler
...
Solution: add compile check
2018-05-30 22:50:30 +02:00
Simon Giesecke
93194e7c53
Problem: non-portable memset
...
Solution: add dummy pointer meber to union instead
2018-05-30 22:50:30 +02:00
Simon Giesecke
9c8fde09ca
Problem: inconsistent control structures in address.cpp, redundant check for NULLness before delete
...
Solution: harmonize, remove redundant checks
2018-05-30 22:50:30 +02:00