Merge pull request #601 from leewoosung/hotfixes/patched

[LIBZMQ-541] pub socket sending fail issue
This commit is contained in:
Pieter Hintjens 2013-07-01 02:14:07 -07:00
commit 1cfee8d1e7

13
src/dist.cpp Normal file → Executable file
View File

@ -78,12 +78,19 @@ void zmq::dist_t::pipe_terminated (pipe_t *pipe_)
{
// Remove the pipe from the list; adjust number of matching, active and/or
// eligible pipes accordingly.
if (pipes.index (pipe_) < matching)
if (pipes.index (pipe_) < matching) {
pipes.swap (pipes.index (pipe_), matching - 1);
matching--;
if (pipes.index (pipe_) < active)
}
if (pipes.index (pipe_) < active) {
pipes.swap (pipes.index (pipe_), active - 1);
active--;
if (pipes.index (pipe_) < eligible)
}
if (pipes.index (pipe_) < eligible) {
pipes.swap (pipes.index (pipe_), eligible - 1);
eligible--;
}
pipes.erase (pipe_);
}