- 18 May, 2018 1 commit
-
-
Simon Giesecke authored
Solution: replace by C++-style casts
-
- 13 May, 2018 1 commit
-
-
Luca Boccassi authored
Solution: do it explicitly to fix build on Solaris 10/11 with the Sun compiler
-
- 05 Mar, 2018 1 commit
-
-
Stefan Kaes authored
The zero copy decoding strategy implemented for 4.2.0 can lead to a large increase of main memory usage in some cases (I have seen one program go up to 40G from 10G after upgrading from 4.1.4). This commit adds a new option to contexts, called ZMQ_ZERO_COPY_RECV, which allows one to switch to the old decoding strategy.
-
- 11 Feb, 2018 1 commit
-
-
Simon Giesecke authored
Solution: extract thread_ctx_t from ctx_t
-
- 02 Feb, 2018 1 commit
-
-
sigiesec authored
Solution: applied clang-format
-
- 31 Jan, 2018 1 commit
-
-
sigiesec authored
Solution: signal error to caller, and apply appropriate cleanup
-
- 25 Oct, 2017 1 commit
-
-
f18m authored
Change ZMQ_THREAD_AFFINITY to ZMQ_THREAD_AFFINITY_CPU_ADD/ZMQ_THREAD_AFFINITY_CPU_REMOVE. Avoid prefix thread names when no prefix was set.
-
- 22 Oct, 2017 1 commit
-
-
Simon Giesecke authored
Solution: use std::map::emplace instead, where available
-
- 17 Oct, 2017 1 commit
-
-
f18m authored
* Add ZMQ_THREAD_NAME_PREFIX ctx option
-
- 16 Oct, 2017 1 commit
-
-
f18m authored
* 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
-
- 19 Sep, 2017 1 commit
-
-
sigiesec authored
Solution: replace by "routing id"
-
- 07 Sep, 2017 1 commit
-
-
Doron Somech authored
-
- 06 Sep, 2017 1 commit
-
-
sigiesec authored
Solution: replace by "routing id"
-
- 28 Jul, 2017 1 commit
-
-
Luca Boccassi authored
Solution: add a crypto [de-]initialiser, refcounted and serialised through critical sections. This is necessary as utility APIs such as zmq_curve_keypair also call into the sodium/tweetnacl libraries and need the initialisation outside of the zmq context. Also the libsodium documentation explicitly says that sodium_init must not be called concurrently from multiple threads, which could have happened until now. Also the randombytes_close function does not appear to be thread safe either. This change guarantees that the library is initialised only once at any given time across the whole program. Fixes #2632
-
- 17 May, 2017 1 commit
-
-
rkfg authored
Solution: don't set thread name on Android Setting a thread name on Android may fail with "permission denied" error and abort the process due to failed assertion. Tested on Android 5 and 6 (two phones). Strangely enough, it only happens on signed APKs and is fine in debug. Using JeroMQ is not an option as we need TCP keepalive settings and authentication which JeroMQ doesn't support.
-
- 12 Mar, 2017 2 commits
-
-
Luca Boccassi authored
Solution: call it simply "ZMQ background" instead of "ZMQ b/g thread"
-
Luca Boccassi authored
Solution: use pthread API to set the name. For now call every thread "ZMQ b/g thread". Would be nice to number the I/O threads and name explicitly the reaper thread, but in reality a bit of internal API churn would be necessary, so perhaps it's not worth it. This is useful when debugging a process with many threads.
-
- 20 Nov, 2016 1 commit
-
-
Luca Boccassi authored
Solution: add a ZMQ_MSG_T_SIZE context read-only option so that wrappers can call zmq_ctx_get (ctx, ZMQ_MSG_T_SIZE) to get the size at runtime.
-
- 24 Sep, 2016 2 commits
-
-
Luca Boccassi authored
Solution: add a zmq_assert to check if the ephemeral sockets created to drain the queue of pending inproc connecting sockets was allocated successfully.
-
Luca Boccassi authored
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.
-
- 17 Sep, 2016 1 commit
-
-
Constantin Rack authored
Solution: replace tabes with spaces
-
- 31 Jul, 2016 2 commits
-
-
reza-ebrahimi authored
-
Reza Ebrahimi authored
Convert manual (locking and unlocking) mutexes to scoped mutexes for the case of unlocking mutex even if the protected operation throws an exception (#2071)
-
- 18 May, 2016 1 commit
-
-
Chris-P-Bacon authored
Since ZMQ_USE_SODIUM is nowhere defined i guess it's meant to be ZMQ_USE_LIBSODIUM?
-
- 14 May, 2016 1 commit
-
-
evoskuil authored
-
- 30 Mar, 2016 2 commits
-
-
Pieter Hintjens authored
I changed this to ZMQ_USE_SODIUM to be consistent with other configuration options (especially ZMQ_USE_TWEETNACL). Solution: fix it.
-
Pieter Hintjens authored
Solution: use ZMQ_USE_LIBSODIUM to match ZMQ_USE_TWEETNACL
-
- 29 Mar, 2016 2 commits
-
-
Nikolay Edigaryev authored
Solution: use proper preprocessor macro
-
Nikolay Edigaryev authored
libsodium calls abort() when /dev/urandom can't be found even if one creates ZeroMQ context before calling chroot()[1]. This happens because crypto gets initialized on handshake, and at that moment the process is already chroot'ed. Solution: initialize cryptographic libraries in ctx randombytes_close() is already there in the destructor. [1] https://download.libsodium.org/doc/usage/index.html
-
- 18 Feb, 2016 1 commit
-
-
Osiris authored
Solution: Phase I - make precompiled.hpp be first file included in every source file
-
- 11 Feb, 2016 2 commits
-
-
Pieter Hintjens authored
- they have no copyright / license statement - they are in some randomish directory structure - they are a mix of postable and non-portable files - they do not conform to conditional compile environment Overall, it makes it rather more work than needed, in build scripts. Solution: clean up tweetnacl sauce. - merged code into single tweetnacl.c and .h - standard copyright header, DJB to AUTHORS - moved into src/ along with all other source files - all system and conditional compilation hidden in these files - thus, they can be compiled and packaged in all cases - ZMQ_USE_TWEETNACL is set when we're using built-in tweetnacl - HAVE_LIBSODIUM is set when we're using external libsodium
-
Pieter Hintjens authored
It's unclear which we need and in the source code, conditional code treats tweetnacl as a subclass of libsodium, which is inaccurate. Solution: redesign the configure/cmake API for this: * tweetnacl is present by default and cannot be enabled * libsodium can be enabled using --with-libsodium, which replaces the built-in tweetnacl * CURVE encryption can be disabled entirely using --enable-curve=no The macros we define in platform.hpp are: ZMQ_HAVE_CURVE 1 // When CURVE is enabled HAVE_LIBSODIUM 1 // When we are using libsodium HAVE_TWEETNACL 1 // When we're using tweetnacl (default) As of this patch, the default build of libzmq always has CURVE security, and always uses tweetnacl.
-
- 09 Feb, 2016 1 commit
-
-
Pieter Hintjens authored
And I'm on a reasonably sized laptop. I think allocating INT_MAX memory is dangerous in a test case. Solution: expose this as a context option. I've used ZMQ_MAX_MSGSZ and documented it and implemented the API. However I don't know how to get the parent context for a socket, so the code in zmq.cpp is still unfinished.
-
- 01 Feb, 2016 3 commits
-
-
Pieter Hintjens authored
-
Pieter Hintjens authored
-
Constantin Rack authored
Solution: replace with `zmq_ctx_term` Also fix whitespace (tabs instead of spaces)
-
- 28 Jan, 2016 1 commit
-
-
Constantin Rack authored
Solution: update to 2016
-
- 08 Dec, 2015 1 commit
-
-
Ilya Kulakov authored
VMCI transport allows fast communication between the Host and a virtual machine, between virtual machines on the same host, and within a virtual machine (like IPC). It requires VMware to be installed on the host and Guest Additions to be installed on a guest.
-
- 21 Aug, 2015 2 commits
-
-
Joe Eli McIlvain authored
Solution: Move the macros to a private header.
-
Richard Newton authored
-