diff options
Diffstat (limited to 'linden/indra/llmessage')
-rw-r--r-- | linden/indra/llmessage/lliosocket.cpp | 3 | ||||
-rw-r--r-- | linden/indra/llmessage/llpumpio.cpp | 18 | ||||
-rw-r--r-- | linden/indra/llmessage/llpumpio.h | 9 |
3 files changed, 30 insertions, 0 deletions
diff --git a/linden/indra/llmessage/lliosocket.cpp b/linden/indra/llmessage/lliosocket.cpp index dec83b0..28fee37 100644 --- a/linden/indra/llmessage/lliosocket.cpp +++ b/linden/indra/llmessage/lliosocket.cpp | |||
@@ -355,8 +355,11 @@ LLIOPipe::EStatus LLIOSocketReader::process_impl( | |||
355 | } | 355 | } |
356 | else if(APR_STATUS_IS_EAGAIN(status)) | 356 | else if(APR_STATUS_IS_EAGAIN(status)) |
357 | { | 357 | { |
358 | /*Commented out by Aura 9-9-8 for DEV-19961. | ||
358 | // everything is fine, but we can terminate this process pump. | 359 | // everything is fine, but we can terminate this process pump. |
360 | |||
359 | rv = STATUS_BREAK; | 361 | rv = STATUS_BREAK; |
362 | */ | ||
360 | } | 363 | } |
361 | else | 364 | else |
362 | { | 365 | { |
diff --git a/linden/indra/llmessage/llpumpio.cpp b/linden/indra/llmessage/llpumpio.cpp index c92612f..6adf9c2 100644 --- a/linden/indra/llmessage/llpumpio.cpp +++ b/linden/indra/llmessage/llpumpio.cpp | |||
@@ -269,6 +269,13 @@ bool LLPumpIO::setTimeoutSeconds(F32 timeout) | |||
269 | return true; | 269 | return true; |
270 | } | 270 | } |
271 | 271 | ||
272 | void LLPumpIO::adjustTimeoutSeconds(F32 delta) | ||
273 | { | ||
274 | // If no chain is running, bail | ||
275 | if(current_chain_t() == mCurrentChain) return; | ||
276 | (*mCurrentChain).adjustTimeoutSeconds(delta); | ||
277 | } | ||
278 | |||
272 | static std::string events_2_string(apr_int16_t events) | 279 | static std::string events_2_string(apr_int16_t events) |
273 | { | 280 | { |
274 | std::ostringstream ostr; | 281 | std::ostringstream ostr; |
@@ -1161,3 +1168,14 @@ void LLPumpIO::LLChainInfo::setTimeoutSeconds(F32 timeout) | |||
1161 | mTimer.stop(); | 1168 | mTimer.stop(); |
1162 | } | 1169 | } |
1163 | } | 1170 | } |
1171 | |||
1172 | void LLPumpIO::LLChainInfo::adjustTimeoutSeconds(F32 delta) | ||
1173 | { | ||
1174 | LLMemType m1(LLMemType::MTYPE_IO_PUMP); | ||
1175 | if(mTimer.getStarted()) | ||
1176 | { | ||
1177 | F64 expiry = mTimer.expiresAt(); | ||
1178 | expiry += delta; | ||
1179 | mTimer.setExpiryAt(expiry); | ||
1180 | } | ||
1181 | } | ||
diff --git a/linden/indra/llmessage/llpumpio.h b/linden/indra/llmessage/llpumpio.h index d2392a3..daff723 100644 --- a/linden/indra/llmessage/llpumpio.h +++ b/linden/indra/llmessage/llpumpio.h | |||
@@ -166,6 +166,14 @@ public: | |||
166 | bool setTimeoutSeconds(F32 timeout); | 166 | bool setTimeoutSeconds(F32 timeout); |
167 | 167 | ||
168 | /** | 168 | /** |
169 | * @brief Adjust the timeout of the running chain. | ||
170 | * | ||
171 | * This method has no effect if there is no timeout on the chain. | ||
172 | * @param delta The number of seconds to add to/remove from the timeout. | ||
173 | */ | ||
174 | void adjustTimeoutSeconds(F32 delta); | ||
175 | |||
176 | /** | ||
169 | * @brief Set up file descriptors for for the running chain. | 177 | * @brief Set up file descriptors for for the running chain. |
170 | * @see rebuildPollset() | 178 | * @see rebuildPollset() |
171 | * | 179 | * |
@@ -349,6 +357,7 @@ protected: | |||
349 | // methods | 357 | // methods |
350 | LLChainInfo(); | 358 | LLChainInfo(); |
351 | void setTimeoutSeconds(F32 timeout); | 359 | void setTimeoutSeconds(F32 timeout); |
360 | void adjustTimeoutSeconds(F32 delta); | ||
352 | 361 | ||
353 | // basic member data | 362 | // basic member data |
354 | bool mInit; | 363 | bool mInit; |