diff options
Diffstat (limited to 'linden/indra/llmessage')
-rw-r--r-- | linden/indra/llmessage/llcircuit.cpp | 2 | ||||
-rw-r--r-- | linden/indra/llmessage/llpumpio.cpp | 15 |
2 files changed, 8 insertions, 9 deletions
diff --git a/linden/indra/llmessage/llcircuit.cpp b/linden/indra/llmessage/llcircuit.cpp index 5187948..d73cc22 100644 --- a/linden/indra/llmessage/llcircuit.cpp +++ b/linden/indra/llmessage/llcircuit.cpp | |||
@@ -967,7 +967,7 @@ BOOL LLCircuitData::updateWatchDogTimers(LLMessageSystem *msgsys) | |||
967 | << (*it).first; | 967 | << (*it).first; |
968 | llinfos << str.str().c_str() << llendl; | 968 | llinfos << str.str().c_str() << llendl; |
969 | } | 969 | } |
970 | mPotentialLostPackets.erase((*(it++)).first); | 970 | mPotentialLostPackets.erase(it++); |
971 | } | 971 | } |
972 | else | 972 | else |
973 | { | 973 | { |
diff --git a/linden/indra/llmessage/llpumpio.cpp b/linden/indra/llmessage/llpumpio.cpp index c1f1821..4ce15b9 100644 --- a/linden/indra/llmessage/llpumpio.cpp +++ b/linden/indra/llmessage/llpumpio.cpp | |||
@@ -221,16 +221,15 @@ bool LLPumpIO::setConditional(LLIOPipe* pipe, const apr_pollfd_t* poll) | |||
221 | { | 221 | { |
222 | // remove any matching poll file descriptors for this pipe. | 222 | // remove any matching poll file descriptors for this pipe. |
223 | LLIOPipe::ptr_t pipe_ptr(pipe); | 223 | LLIOPipe::ptr_t pipe_ptr(pipe); |
224 | 224 | LLChainInfo::conditionals_t::iterator it; | |
225 | LLChainInfo::conditionals_t::iterator it = (*mCurrentChain).mDescriptors.begin(); | 225 | it = (*mCurrentChain).mDescriptors.begin(); |
226 | LLChainInfo::conditionals_t::iterator end = (*mCurrentChain).mDescriptors.end(); | 226 | while(it != (*mCurrentChain).mDescriptors.end()) |
227 | while (it != end) | ||
228 | { | 227 | { |
229 | LLChainInfo::pipe_conditional_t& value = (*it); | 228 | LLChainInfo::pipe_conditional_t& value = (*it); |
230 | if ( pipe_ptr == value.first ) | 229 | if(pipe_ptr == value.first) |
231 | { | 230 | { |
232 | ll_delete_apr_pollset_fd_client_data()(value); | 231 | ll_delete_apr_pollset_fd_client_data()(value); |
233 | (*mCurrentChain).mDescriptors.erase(it++); | 232 | it = (*mCurrentChain).mDescriptors.erase(it); |
234 | mRebuildPollset = true; | 233 | mRebuildPollset = true; |
235 | } | 234 | } |
236 | else | 235 | else |
@@ -472,7 +471,7 @@ void LLPumpIO::pump() | |||
472 | // << (*run_chain).mChainLinks[0].mPipe | 471 | // << (*run_chain).mChainLinks[0].mPipe |
473 | // << " because we reached the end." << llendl; | 472 | // << " because we reached the end." << llendl; |
474 | #endif | 473 | #endif |
475 | mRunningChains.erase(run_chain++); | 474 | run_chain = mRunningChains.erase(run_chain); |
476 | continue; | 475 | continue; |
477 | } | 476 | } |
478 | } | 477 | } |
@@ -551,7 +550,7 @@ void LLPumpIO::pump() | |||
551 | (*run_chain).mDescriptors.begin(), | 550 | (*run_chain).mDescriptors.begin(), |
552 | (*run_chain).mDescriptors.end(), | 551 | (*run_chain).mDescriptors.end(), |
553 | ll_delete_apr_pollset_fd_client_data()); | 552 | ll_delete_apr_pollset_fd_client_data()); |
554 | mRunningChains.erase(run_chain++); | 553 | run_chain = mRunningChains.erase(run_chain); |
555 | 554 | ||
556 | // *NOTE: may not always need to rebuild the pollset. | 555 | // *NOTE: may not always need to rebuild the pollset. |
557 | mRebuildPollset = true; | 556 | mRebuildPollset = true; |