diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llmessage/llcoproceduremanager.cpp | 11 | ||||
| -rw-r--r-- | indra/newview/llviewerassetstorage.cpp | 1 | 
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);  } | 
