mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-12 18:40:27 +01:00
Fix issue #1419 segfault when using a XSUB/XPUB proxy.
Ref. https://github.com/zeromq/libzmq/issues/1419
This commit is contained in:
parent
a7922e5fdd
commit
023b34a144
@ -124,12 +124,14 @@ void zmq::dist_t::pipe_terminated (pipe_t *pipe_)
|
||||
void zmq::dist_t::activated (pipe_t *pipe_)
|
||||
{
|
||||
// Move the pipe from passive to eligible state.
|
||||
pipes.swap (pipes.index (pipe_), eligible);
|
||||
eligible++;
|
||||
if (eligible < pipes.size ()) {
|
||||
pipes.swap (pipes.index (pipe_), eligible);
|
||||
eligible++;
|
||||
}
|
||||
|
||||
// If there's no message being sent at the moment, move it to
|
||||
// the active state.
|
||||
if (!more) {
|
||||
if (!more && active < pipes.size ()) {
|
||||
pipes.swap (eligible - 1, active);
|
||||
active++;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user