aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llmessage
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/llmessage')
-rw-r--r--linden/indra/llmessage/lliosocket.cpp3
-rw-r--r--linden/indra/llmessage/llpumpio.cpp18
-rw-r--r--linden/indra/llmessage/llpumpio.h9
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
272void 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
272static std::string events_2_string(apr_int16_t events) 279static 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
1172void 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;