summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llmessage/llcoproceduremanager.cpp11
-rw-r--r--indra/newview/llviewerassetstorage.cpp1
2 files changed, 12 insertions, 0 deletions
diff --git a/indra/llmessage/llcoproceduremanager.cpp b/indra/llmessage/llcoproceduremanager.cpp
index c50d2bfd41..b94ec541e9 100644
--- a/indra/llmessage/llcoproceduremanager.cpp
+++ b/indra/llmessage/llcoproceduremanager.cpp
@@ -140,11 +140,22 @@ LLCoprocedureManager::~LLCoprocedureManager()
void LLCoprocedureManager::initializePool(const std::string &poolName)
{
+ poolMap_t::iterator it = mPoolMap.find(poolName);
+
+ if (it != mPoolMap.end())
+ {
+ // Pools are not supposed to be initialized twice
+ // Todo: ideally restrict init to STATE_FIRST
+ LL_ERRS() << "Pool is already present " << poolName << LL_ENDL;
+ return;
+ }
+
// Attempt to look up a pool size in the configuration. If found use that
std::string keyName = "PoolSize" + poolName;
int size = 0;
LL_ERRS_IF(poolName.empty(), "CoprocedureManager") << "Poolname must not be empty" << LL_ENDL;
+ LL_INFOS("CoprocedureManager") << "Initializing pool " << poolName << LL_ENDL;
if (mPropertyQueryFn)
{
diff --git a/indra/newview/llviewerassetstorage.cpp b/indra/newview/llviewerassetstorage.cpp
index b345396c2f..19f2456ae6 100644
--- a/indra/newview/llviewerassetstorage.cpp
+++ b/indra/newview/llviewerassetstorage.cpp
@@ -115,6 +115,7 @@ LLViewerAssetStorage::LLViewerAssetStorage(LLMessageSystem *msg, LLXferManager *
mCountSucceeded(0),
mTotalBytesFetched(0)
{
+ LLCoprocedureManager::instance().initializePool(VIEWER_ASSET_STORAGE_CORO_POOL);
}