The Intel compiler complains about the order of "static" and "const". The fix is a simple switch to one line in one header file.
In file included from ipc_listener.cpp(29):
stream_engine.hpp(97): error #82: storage class is not first
const static size_t greeting_size = 12;
Active is reduced in the zmq internal thread in terminated, potentially to zero.
If the user thread is in send() between lines 109 and 116, then the old code "(current+1) % active" is a divide by 0 - and crashes the program.
This reverts commit a0a24a92af78ebb8f61a8a45454d3ff6d2db0a3d, reversing
changes made to 8e748064acf877e5322f681c30323d7dc91e2100.
See https://zeromq.jira.com/browse/LIBZMQ-576 for details
A ZeroMQ application can opt for TIPC based sockets
using the TIPC port name format:
zmq_bind(sb, "tipc://{type,lower,upper}");
zmq_connect(sc, "tipc://{type,inst}");
'type' is the service ID, and 'lower/upper' can be
used for service partitioning or basic load
balancing.
ZeroMQ TIPC transport requires a kernel >= 3.8
(nonblocking connect support for TIPC).
Signed-off-by: Erik Hugne <erik.hugne@ericsson.com>
Do not filter out duplicate subscriptions on the XSUB side of
XSUB/XPUB, so that ZMQ_XPUB_VERBOSE doesn't get blocked by forwarding
devices (as long as the devices all use ZMQ_XPUB_VERBOSE)
The problem is that other threads might still be in mailbox::send() when
it is destroyed. So as a workaround, we just acquire the mutex in the
destructor. Therefore the running send will finish before the mailbox is
destroyed.
See also the fix for LIBZMQ-281 in zeromq2-x.
Signed-off-by: Mika Fischer <mika.fischer@zoopnet.de>
When we send a large message, the message can be splitted into two chunks.
One is in the encoder buffer and the other is the zero-copy pointer.
The session could get the term before the last chunk is sent.
REP socket demands at least an empty address stack. The server asserted on (msg_->flags () & msg_t::more) in rep.cpp:75 when receiving a malformed request without empty part.
This patch makes a REP socket to discard and silently ignore such malformed requests.