From 746ff8f44b6d678843751540f975958b5692c517 Mon Sep 17 00:00:00 2001 From: Ansariel <ansariel.hiller@phoenixviewer.com> Date: Thu, 13 Aug 2020 20:33:26 +0200 Subject: [PATCH] Attempt to fix the VAAssetStorage pool creation issue --- indra/llmessage/llcoproceduremanager.cpp | 11 +++++++++++ indra/llmessage/llcoproceduremanager.h | 2 ++ indra/newview/llviewerassetstorage.cpp | 4 ++++ 3 files changed, 17 insertions(+) diff --git a/indra/llmessage/llcoproceduremanager.cpp b/indra/llmessage/llcoproceduremanager.cpp index 42c19e3b1c8..cb989dda1e7 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 de858fb29dc..2c620efe518 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 c6a2783a3eb..d40c9c9ed8b 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() -- GitLab