Fixed iterator when erasing from inprocs multimap

This commit is contained in:
Stefan Radomski 2012-12-04 17:31:46 +01:00
parent 624dd1e5b5
commit f9770e93ef

View File

@ -1011,7 +1011,8 @@ void zmq::socket_base_t::terminated (pipe_t *pipe_)
xterminated (pipe_);
// Remove pipe from inproc pipes
for (inprocs_t::iterator it = inprocs.begin(); it != inprocs.end(); ++it) {
inprocs_t::iterator it = inprocs.begin();
while (it != inprocs.end()) {
if (it->second == pipe_) {
inprocs.erase(it++);
} else {