diff --git a/indra/llmessage/llcoproceduremanager.cpp b/indra/llmessage/llcoproceduremanager.cpp index 42c19e3b1c8c4991e92a704e41b7fd922918fa07..cb989dda1e71421c9fc4fc901ac817cb546d9a9d 100644 --- a/indra/llmessage/llcoproceduremanager.cpp +++ b/indra/llmessage/llcoproceduremanager.cpp @@ -272,6 +272,17 @@ void LLCoprocedureManager::close(const std::string &pool) } } +// <FS:Ansariel> Explicitly create the VAAssetStorage pool +void LLCoprocedureManager::createPool(const std::string& poolName) +{ + poolMap_t::iterator it = mPoolMap.find(poolName); + if (it == mPoolMap.end()) + { + initializePool(poolName); + } +} +// </FS:Ansariel> Explicitly create the VAAssetStorage pool + //========================================================================= LLCoprocedurePool::LLCoprocedurePool(const std::string &poolName, size_t size): mPoolName(poolName), diff --git a/indra/llmessage/llcoproceduremanager.h b/indra/llmessage/llcoproceduremanager.h index de858fb29dc729cd39756630bece1102fa7ad85c..2c620efe5182cc91fd9101e06bad8b7ea2f66c75 100644 --- a/indra/llmessage/llcoproceduremanager.h +++ b/indra/llmessage/llcoproceduremanager.h @@ -79,6 +79,8 @@ class LLCoprocedureManager final : public LLSingleton < LLCoprocedureManager > void close(); void close(const std::string &pool); + + void createPool(const std::string& poolName); // <FS:Ansariel> Explicitly create the VAAssetStorage pool private: diff --git a/indra/newview/llviewerassetstorage.cpp b/indra/newview/llviewerassetstorage.cpp index c6a2783a3eb5040271066e8a15c589ac8c357fb2..d40c9c9ed8b2b89d4e38d541da25ff5ad3902043 100644 --- a/indra/newview/llviewerassetstorage.cpp +++ b/indra/newview/llviewerassetstorage.cpp @@ -114,6 +114,8 @@ LLViewerAssetStorage::LLViewerAssetStorage(LLMessageSystem *msg, LLXferManager * mCountSucceeded(0), mTotalBytesFetched(0) { + // <FS:Ansariel> Explicitly create the VAAssetStorage pool + LLCoprocedureManager::instance().createPool(VIEWER_ASSET_STORAGE_CORO_POOL); } @@ -127,6 +129,8 @@ LLViewerAssetStorage::LLViewerAssetStorage(LLMessageSystem *msg, LLXferManager * mCountSucceeded(0), mTotalBytesFetched(0) { + // <FS:Ansariel> Explicitly create the VAAssetStorage pool + LLCoprocedureManager::instance().createPool(VIEWER_ASSET_STORAGE_CORO_POOL); } LLViewerAssetStorage::~LLViewerAssetStorage()