• trya's avatar
    Problem: ZMQ_CONFLATE on PUB sockets delivers to only one subscriber at most · 2fe9dd91
    trya authored
    Solution: Fix behavior of dbuffer on writes. Message passed in argument
    of dbuffer::write can be assigned directly to the back buffer without
    leaking, since the message has already the right reference count (see
    dist::distribute and msg_t::add_refs). Secondly, in order to prevent the
    message pending in the front buffer from leaking if it hasn't been
    closed yet (for example because the peer is not reachable anymore), move
    back buffer to front buffer using msg_t::move instead of swapping the
    buffers, thus allowing release of the message in the front buffer.
    2fe9dd91
Name
Last commit
Last update
..
address.cpp problem: sha1 external module conflict with czmq
address.hpp problem: sha1 external module conflict with czmq
array.hpp Problem: inconsistent naming style for private data members, conflicts with naming of local variables and member functions
atomic_counter.hpp Problem: atomic intrinsics unreliable on PPC64 and RISC-V
atomic_ptr.hpp Problem: atomic intrinsics unreliable on PPC64 and RISC-V
blob.hpp Add <ios> include to fix uClibc++ compilation
client.cpp Problem: unused get_credential methods and associated fields
client.hpp Problem: unused get_credential methods and associated fields
clock.cpp Problem: inconsistent naming style for private data members, conflicts with naming of local variables and member functions
clock.hpp Problem: inconsistent naming style for private data members, conflicts with naming of local variables and member functions
command.hpp Problem: cannot monitor state of queues at runtime
condition_variable.hpp Problem: selection of condition_variable_t implementation is confusing and not configurable
config.hpp Problem: {in,out}_batch_size must be configured at compiled time
ctx.cpp problem: sha1 external module conflict with czmq
ctx.hpp Introduce extended set/get methods for ZMQ contexts (#3642)
curve_client.cpp Problem: plaintext secrets placed in insecure memory
curve_client.hpp Problem: inconsistent naming style for private data members, conflicts with naming of local variables and member functions
curve_client_tools.hpp Problem: plaintext secrets placed in insecure memory
curve_mechanism_base.cpp Problem: plaintext secrets placed in insecure memory
curve_mechanism_base.hpp Problem: no C++ style secure memory allocator available
curve_server.cpp Problem: plaintext secrets placed in insecure memory
curve_server.hpp Problem: inconsistent naming style for private data members, conflicts with naming of local variables and member functions
dbuffer.hpp Problem: ZMQ_CONFLATE on PUB sockets delivers to only one subscriber at most
dealer.cpp Problem: unused get_credential methods and associated fields
dealer.hpp Problem: unused get_credential methods and associated fields
decoder.hpp Loading commit data...
decoder_allocators.cpp Loading commit data...
decoder_allocators.hpp Loading commit data...
devpoll.cpp Loading commit data...
devpoll.hpp Loading commit data...
dgram.cpp Loading commit data...
dgram.hpp Loading commit data...
dish.cpp Loading commit data...
dish.hpp Loading commit data...
dist.cpp Loading commit data...
dist.hpp Loading commit data...
encoder.hpp Loading commit data...
endpoint.cpp Loading commit data...
endpoint.hpp Loading commit data...
epoll.cpp Loading commit data...
epoll.hpp Loading commit data...
err.cpp Loading commit data...
err.hpp Loading commit data...
fd.hpp Loading commit data...
fq.cpp Loading commit data...
fq.hpp Loading commit data...
gather.cpp Loading commit data...
gather.hpp Loading commit data...
generic_mtrie.hpp Loading commit data...
generic_mtrie_impl.hpp Loading commit data...
gssapi_client.cpp Loading commit data...
gssapi_client.hpp Loading commit data...
gssapi_mechanism_base.cpp Loading commit data...
gssapi_mechanism_base.hpp Loading commit data...
gssapi_server.cpp Loading commit data...
gssapi_server.hpp Loading commit data...
i_decoder.hpp Loading commit data...
i_encoder.hpp Loading commit data...
i_engine.hpp Loading commit data...
i_mailbox.hpp Loading commit data...
i_poll_events.hpp Loading commit data...
io_object.cpp Loading commit data...
io_object.hpp Loading commit data...
io_thread.cpp Loading commit data...
io_thread.hpp Loading commit data...
ip.cpp Loading commit data...
ip.hpp Loading commit data...
ip_resolver.cpp Loading commit data...
ip_resolver.hpp Loading commit data...
ipc_address.cpp Loading commit data...
ipc_address.hpp Loading commit data...
ipc_connecter.cpp Loading commit data...
ipc_connecter.hpp Loading commit data...
ipc_listener.cpp Loading commit data...
ipc_listener.hpp Loading commit data...
kqueue.cpp Loading commit data...
kqueue.hpp Loading commit data...
lb.cpp Loading commit data...
lb.hpp Loading commit data...
libzmq.pc.in Loading commit data...
libzmq.vers Loading commit data...
likely.hpp Loading commit data...
macros.hpp Loading commit data...
mailbox.cpp Loading commit data...
mailbox.hpp Loading commit data...
mailbox_safe.cpp Loading commit data...
mailbox_safe.hpp Loading commit data...
mechanism.cpp Loading commit data...
mechanism.hpp Loading commit data...
mechanism_base.cpp Loading commit data...
mechanism_base.hpp Loading commit data...
metadata.cpp Loading commit data...
metadata.hpp Loading commit data...
msg.cpp Loading commit data...
msg.hpp Loading commit data...
mtrie.cpp Loading commit data...
mtrie.hpp Loading commit data...
mutex.hpp Loading commit data...
norm_engine.cpp Loading commit data...
norm_engine.hpp Loading commit data...
null_mechanism.cpp Loading commit data...
null_mechanism.hpp Loading commit data...
object.cpp Loading commit data...
object.hpp Loading commit data...
options.cpp Loading commit data...
options.hpp Loading commit data...
own.cpp Loading commit data...
own.hpp Loading commit data...
pair.cpp Loading commit data...
pair.hpp Loading commit data...
pgm_receiver.cpp Loading commit data...
pgm_receiver.hpp Loading commit data...
pgm_sender.cpp Loading commit data...
pgm_sender.hpp Loading commit data...
pgm_socket.cpp Loading commit data...
pgm_socket.hpp Loading commit data...
pipe.cpp Loading commit data...
pipe.hpp Loading commit data...
plain_client.cpp Loading commit data...
plain_client.hpp Loading commit data...
plain_common.hpp Loading commit data...
plain_server.cpp Loading commit data...
plain_server.hpp Loading commit data...
poll.cpp Loading commit data...
poll.hpp Loading commit data...
poller.hpp Loading commit data...
poller_base.cpp Loading commit data...
poller_base.hpp Loading commit data...
polling_util.cpp Loading commit data...
polling_util.hpp Loading commit data...
pollset.cpp Loading commit data...
pollset.hpp Loading commit data...
precompiled.cpp Loading commit data...
precompiled.hpp Loading commit data...
proxy.cpp Loading commit data...
proxy.hpp Loading commit data...
pub.cpp Loading commit data...
pub.hpp Loading commit data...
pull.cpp Loading commit data...
pull.hpp Loading commit data...
push.cpp Loading commit data...
push.hpp Loading commit data...
radio.cpp Loading commit data...
radio.hpp Loading commit data...
radix_tree.cpp Loading commit data...
radix_tree.hpp Loading commit data...
random.cpp Loading commit data...
random.hpp Loading commit data...
raw_decoder.cpp Loading commit data...
raw_decoder.hpp Loading commit data...
raw_encoder.cpp Loading commit data...
raw_encoder.hpp Loading commit data...
raw_engine.cpp Loading commit data...
raw_engine.hpp Loading commit data...
reaper.cpp Loading commit data...
reaper.hpp Loading commit data...
rep.cpp Loading commit data...
rep.hpp Loading commit data...
req.cpp Loading commit data...
req.hpp Loading commit data...
router.cpp Loading commit data...
router.hpp Loading commit data...
scatter.cpp Loading commit data...
scatter.hpp Loading commit data...
secure_allocator.hpp Loading commit data...
select.cpp Loading commit data...
select.hpp Loading commit data...
server.cpp Loading commit data...
server.hpp Loading commit data...
session_base.cpp Loading commit data...
session_base.hpp Loading commit data...
signaler.cpp Loading commit data...
signaler.hpp Loading commit data...
socket_base.cpp Loading commit data...
socket_base.hpp Loading commit data...
socket_poller.cpp Loading commit data...
socket_poller.hpp Loading commit data...
socks.cpp Loading commit data...
socks.hpp Loading commit data...
socks_connecter.cpp Loading commit data...
socks_connecter.hpp Loading commit data...
stdint.hpp Loading commit data...
stream.cpp Loading commit data...
stream.hpp Loading commit data...
stream_connecter_base.cpp Loading commit data...
stream_connecter_base.hpp Loading commit data...
stream_engine_base.cpp Loading commit data...
stream_engine_base.hpp Loading commit data...
stream_listener_base.cpp Loading commit data...
stream_listener_base.hpp Loading commit data...
sub.cpp Loading commit data...
sub.hpp Loading commit data...
tcp.cpp Loading commit data...
tcp.hpp Loading commit data...
tcp_address.cpp Loading commit data...
tcp_address.hpp Loading commit data...
tcp_connecter.cpp Loading commit data...
tcp_connecter.hpp Loading commit data...
tcp_listener.cpp Loading commit data...
tcp_listener.hpp Loading commit data...
thread.cpp Loading commit data...
thread.hpp Loading commit data...
timers.cpp Loading commit data...
timers.hpp Loading commit data...
tipc_address.cpp Loading commit data...
tipc_address.hpp Loading commit data...
tipc_connecter.cpp Loading commit data...
tipc_connecter.hpp Loading commit data...
tipc_listener.cpp Loading commit data...
tipc_listener.hpp Loading commit data...
trie.cpp Loading commit data...
trie.hpp Loading commit data...
tweetnacl.c Loading commit data...
tweetnacl.h Loading commit data...
udp_address.cpp Loading commit data...
udp_address.hpp Loading commit data...
udp_engine.cpp Loading commit data...
udp_engine.hpp Loading commit data...
v1_decoder.cpp Loading commit data...
v1_decoder.hpp Loading commit data...
v1_encoder.cpp Loading commit data...
v1_encoder.hpp Loading commit data...
v2_decoder.cpp Loading commit data...
v2_decoder.hpp Loading commit data...
v2_encoder.cpp Loading commit data...
v2_encoder.hpp Loading commit data...
v2_protocol.hpp Loading commit data...
version.rc.in Loading commit data...
vmci.cpp Loading commit data...
vmci.hpp Loading commit data...
vmci_address.cpp Loading commit data...
vmci_address.hpp Loading commit data...
vmci_connecter.cpp Loading commit data...
vmci_connecter.hpp Loading commit data...
vmci_listener.cpp Loading commit data...
vmci_listener.hpp Loading commit data...
windows.hpp Loading commit data...
wire.hpp Loading commit data...
ws_address.cpp Loading commit data...
ws_address.hpp Loading commit data...
ws_connecter.cpp Loading commit data...
ws_connecter.hpp Loading commit data...
ws_decoder.cpp Loading commit data...
ws_decoder.hpp Loading commit data...
ws_encoder.cpp Loading commit data...
ws_encoder.hpp Loading commit data...
ws_engine.cpp Loading commit data...
ws_engine.hpp Loading commit data...
ws_listener.cpp Loading commit data...
ws_listener.hpp Loading commit data...
ws_protocol.hpp Loading commit data...
xpub.cpp Loading commit data...
xpub.hpp Loading commit data...
xsub.cpp Loading commit data...
xsub.hpp Loading commit data...
ypipe.hpp Loading commit data...
ypipe_base.hpp Loading commit data...
ypipe_conflate.hpp Loading commit data...
yqueue.hpp Loading commit data...
zap_client.cpp Loading commit data...
zap_client.hpp Loading commit data...
zmq.cpp Loading commit data...
zmq_draft.h Loading commit data...
zmq_utils.cpp Loading commit data...
zmtp_engine.cpp Loading commit data...
zmtp_engine.hpp Loading commit data...