summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/app_settings/settings.xml11
-rw-r--r--indra/newview/llcompilequeue.cpp11
2 files changed, 17 insertions, 5 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 4912f27e70..ce2d652c37 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -3701,6 +3701,17 @@
<key>Value</key>
<integer>1</integer>
</map>
+ <key>QueueInventoryFetchTimeout</key>
+ <map>
+ <key>Comment</key>
+ <string>Max time llcompilequeue will wait for inventory fetch to complete (in seconds)</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <integer>40.0</integer>
+ </map>
<key>FindLandArea</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llcompilequeue.cpp b/indra/newview/llcompilequeue.cpp
index ea2e284305..de7bc1e3c5 100644
--- a/indra/newview/llcompilequeue.cpp
+++ b/indra/newview/llcompilequeue.cpp
@@ -66,7 +66,6 @@ namespace
{
const std::string QUEUE_EVENTPUMP_NAME("ScriptActionQueue");
- const F32 TIMEOUT_INVENTORY_FETCH(5.0);
class ObjectInventoryFetcher: public LLVOInventoryListener
@@ -351,6 +350,7 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat
LLSD result;
LLFloaterCompileQueue *that = hfloater.get();
bool monocompile = that->mMono;
+ F32 fetch_timeout = gSavedSettings.getF32("QueueInventoryFetchTimeout");
if (!that)
return false;
@@ -382,7 +382,7 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat
LLExperienceCache::instance().fetchAssociatedExperience(inventory->getParentUUID(), inventory->getUUID(),
boost::bind(&LLFloaterCompileQueue::handleHTTPResponse, pump.getName(), _1));
- result = llcoro::suspendUntilEventOnWithTimeout(pump, TIMEOUT_INVENTORY_FETCH,
+ result = llcoro::suspendUntilEventOnWithTimeout(pump, fetch_timeout,
LLSD().with("timeout", LLSD::Boolean(true)));
that = hfloater.get();
@@ -429,7 +429,7 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat
&LLFloaterCompileQueue::handleScriptRetrieval,
&userData);
- result = llcoro::suspendUntilEventOnWithTimeout(pump, TIMEOUT_INVENTORY_FETCH,
+ result = llcoro::suspendUntilEventOnWithTimeout(pump, fetch_timeout,
LLSD().with("timeout", LLSD::Boolean(true)));
}
@@ -485,7 +485,7 @@ bool LLFloaterCompileQueue::processScript(LLHandle<LLFloaterCompileQueue> hfloat
LLViewerAssetUpload::EnqueueInventoryUpload(url, uploadInfo);
}
- result = llcoro::suspendUntilEventOnWithTimeout(pump, TIMEOUT_INVENTORY_FETCH, LLSD().with("timeout", LLSD::Boolean(true)));
+ result = llcoro::suspendUntilEventOnWithTimeout(pump, fetch_timeout, LLSD().with("timeout", LLSD::Boolean(true)));
that = hfloater.get();
if (!that)
@@ -735,6 +735,7 @@ void LLFloaterScriptQueue::objectScriptProcessingQueueCoro(std::string action, L
LLCoros::set_consuming(true);
LLFloaterScriptQueue * floater(NULL);
LLEventMailDrop maildrop(QUEUE_EVENTPUMP_NAME, true);
+ F32 fetch_timeout = gSavedSettings.getF32("QueueInventoryFetchTimeout");
// floater = hfloater.get();
// floater->addProcessingMessage("Starting",
@@ -756,7 +757,7 @@ void LLFloaterScriptQueue::objectScriptProcessingQueueCoro(std::string action, L
fetcher->fetchInventory();
- LLSD result = llcoro::suspendUntilEventOnWithTimeout(maildrop, TIMEOUT_INVENTORY_FETCH,
+ LLSD result = llcoro::suspendUntilEventOnWithTimeout(maildrop, fetch_timeout,
LLSD().with("timeout", LLSD::Boolean(true)));
if (result.has("timeout") && result["timeout"].asBoolean())