diff options
Diffstat (limited to 'linden/indra/llmessage/llpumpio.cpp')
-rw-r--r-- | linden/indra/llmessage/llpumpio.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/linden/indra/llmessage/llpumpio.cpp b/linden/indra/llmessage/llpumpio.cpp index 01a43ec..3e3f0b3 100644 --- a/linden/indra/llmessage/llpumpio.cpp +++ b/linden/indra/llmessage/llpumpio.cpp | |||
@@ -19,7 +19,8 @@ | |||
19 | * There are special exceptions to the terms and conditions of the GPL as | 19 | * There are special exceptions to the terms and conditions of the GPL as |
20 | * it is applied to this Source Code. View the full text of the exception | 20 | * it is applied to this Source Code. View the full text of the exception |
21 | * in the file doc/FLOSS-exception.txt in this software distribution, or | 21 | * in the file doc/FLOSS-exception.txt in this software distribution, or |
22 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception | 22 | * online at |
23 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
23 | * | 24 | * |
24 | * By copying, modifying or distributing this software, you acknowledge | 25 | * By copying, modifying or distributing this software, you acknowledge |
25 | * that you have read and understood your obligations described above, | 26 | * that you have read and understood your obligations described above, |
@@ -180,6 +181,8 @@ LLPumpIO::LLPumpIO(apr_pool_t* pool) : | |||
180 | mCallbackMutex(NULL), | 181 | mCallbackMutex(NULL), |
181 | mCurrentChain(mRunningChains.end()) | 182 | mCurrentChain(mRunningChains.end()) |
182 | { | 183 | { |
184 | mCurrentChain = mRunningChains.end(); | ||
185 | |||
183 | LLMemType m1(LLMemType::MTYPE_IO_PUMP); | 186 | LLMemType m1(LLMemType::MTYPE_IO_PUMP); |
184 | initialize(pool); | 187 | initialize(pool); |
185 | } | 188 | } |
@@ -273,12 +276,11 @@ bool LLPumpIO::setTimeoutSeconds(F32 timeout) | |||
273 | 276 | ||
274 | void LLPumpIO::adjustTimeoutSeconds(F32 delta) | 277 | void LLPumpIO::adjustTimeoutSeconds(F32 delta) |
275 | { | 278 | { |
276 | // If no chain is running, bail | 279 | // Ensure a chain is running |
277 | if(mRunningChains.end() == mCurrentChain) | 280 | if(mRunningChains.end() != mCurrentChain) |
278 | { | 281 | { |
279 | return; | 282 | (*mCurrentChain).adjustTimeoutSeconds(delta); |
280 | } | 283 | } |
281 | (*mCurrentChain).adjustTimeoutSeconds(delta); | ||
282 | } | 284 | } |
283 | 285 | ||
284 | static std::string events_2_string(apr_int16_t events) | 286 | static std::string events_2_string(apr_int16_t events) |
@@ -548,7 +550,7 @@ void LLPumpIO::pump(const S32& poll_timeout) | |||
548 | //lldebugs << "Running chain count: " << mRunningChains.size() << llendl; | 550 | //lldebugs << "Running chain count: " << mRunningChains.size() << llendl; |
549 | running_chains_t::iterator run_chain = mRunningChains.begin(); | 551 | running_chains_t::iterator run_chain = mRunningChains.begin(); |
550 | bool process_this_chain = false; | 552 | bool process_this_chain = false; |
551 | for(; run_chain != mRunningChains.end(); ) | 553 | while( run_chain != mRunningChains.end() ) |
552 | { | 554 | { |
553 | PUMP_DEBUG; | 555 | PUMP_DEBUG; |
554 | if((*run_chain).mInit | 556 | if((*run_chain).mInit |