summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-08-18 16:00:25 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-08-18 16:23:59 +0300
commit58ba75f6dd4c7c5c93ea9f14cef7f2194aa00e08 (patch)
treeead8ebdd520623c8a5e34c1a1c26890db269fb4a
parentfa0cc7b6d2700b888310d7723114415f7db4f194 (diff)
SL-13783 Workaround for enqueueCoprocedure() crash #2
-rw-r--r--indra/llmessage/llcoproceduremanager.cpp11
-rw-r--r--indra/llmessage/llcoproceduremanager.h1
-rw-r--r--indra/newview/llviewerassetstorage.cpp1
3 files changed, 6 insertions, 7 deletions
diff --git a/indra/llmessage/llcoproceduremanager.cpp b/indra/llmessage/llcoproceduremanager.cpp
index 0684f47df2..3f55bda1e3 100644
--- a/indra/llmessage/llcoproceduremanager.cpp
+++ b/indra/llmessage/llcoproceduremanager.cpp
@@ -140,12 +140,6 @@ LLCoprocedureManager::~LLCoprocedureManager()
close();
}
-void LLCoprocedureManager::initSingleton()
-{
- // workaround until we get mutex into initializePool
- initializePool("VAssetStorage");
-}
-
LLCoprocedureManager::poolPtr_t LLCoprocedureManager::initializePool(const std::string &poolName)
{
// Attempt to look up a pool size in the configuration. If found use that
@@ -197,8 +191,13 @@ LLUUID LLCoprocedureManager::enqueueCoprocedure(const std::string &pool, const s
void LLCoprocedureManager::setPropertyMethods(SettingQuery_t queryfn, SettingUpdate_t updatefn)
{
+ // functions to discover and store the pool sizes
mPropertyQueryFn = queryfn;
mPropertyDefineFn = updatefn;
+
+ // workaround until we get mutex into initializePool
+ initializePool("VAssetStorage");
+ initializePool("Upload");
}
//-------------------------------------------------------------------------
diff --git a/indra/llmessage/llcoproceduremanager.h b/indra/llmessage/llcoproceduremanager.h
index 8540ced8cc..70204ba02b 100644
--- a/indra/llmessage/llcoproceduremanager.h
+++ b/indra/llmessage/llcoproceduremanager.h
@@ -40,7 +40,6 @@ class LLCoprocedureManager : public LLSingleton < LLCoprocedureManager >
{
LLSINGLETON(LLCoprocedureManager);
virtual ~LLCoprocedureManager();
- /*virtual*/ void initSingleton();
public:
typedef boost::function<U32(const std::string &)> SettingQuery_t;
diff --git a/indra/newview/llviewerassetstorage.cpp b/indra/newview/llviewerassetstorage.cpp
index cacdee7e83..54f80a2995 100644
--- a/indra/newview/llviewerassetstorage.cpp
+++ b/indra/newview/llviewerassetstorage.cpp
@@ -49,6 +49,7 @@
/// LLViewerAssetRequest
///----------------------------------------------------------------------------
+ // There is also PoolSizeVAssetStorage value in setting that should mirror this name
static const std::string VIEWER_ASSET_STORAGE_CORO_POOL = "VAssetStorage";
/**