summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerassetstorage.cpp
diff options
context:
space:
mode:
authorDave Houlton <euclid@lindenlab.com>2020-08-11 11:14:21 -0600
committerDave Houlton <euclid@lindenlab.com>2020-08-11 11:14:21 -0600
commit2fb998bc02f3d8a7e0753b5d34db2c13dc70e212 (patch)
treede5f8398707a8556c5f7a74a9018bc3747e64330 /indra/newview/llviewerassetstorage.cpp
parent38e585f5be6a1604aefd183d498070eae73dac0b (diff)
parent89cde15fb8c52071805af78e61848e743f2ab2f1 (diff)
Merge branch 'master' v6.4.7 into DRTVWR-510
Diffstat (limited to 'indra/newview/llviewerassetstorage.cpp')
-rw-r--r--indra/newview/llviewerassetstorage.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/indra/newview/llviewerassetstorage.cpp b/indra/newview/llviewerassetstorage.cpp
index e0b64403ef..b295fa2977 100644
--- a/indra/newview/llviewerassetstorage.cpp
+++ b/indra/newview/llviewerassetstorage.cpp
@@ -49,6 +49,8 @@
/// LLViewerAssetRequest
///----------------------------------------------------------------------------
+static const std::string VIEWER_ASSET_STORAGE_CORO_POOL = "VAssetStorage";
+
/**
* @brief Local class to encapsulate asset fetch requests with a timestamp.
*
@@ -127,6 +129,15 @@ LLViewerAssetStorage::LLViewerAssetStorage(LLMessageSystem *msg, LLXferManager *
{
}
+LLViewerAssetStorage::~LLViewerAssetStorage()
+{
+ if (!LLCoprocedureManager::wasDeleted())
+ {
+ // This class has dedicated coroutine pool, clean it up, otherwise coroutines will crash later.
+ LLCoprocedureManager::instance().close(VIEWER_ASSET_STORAGE_CORO_POOL);
+ }
+}
+
// virtual
void LLViewerAssetStorage::storeAssetData(
const LLTransactionID& tid,
@@ -399,7 +410,7 @@ void LLViewerAssetStorage::queueRequestHttp(
bool is_temp = false;
LLViewerAssetStatsFF::record_enqueue(atype, with_http, is_temp);
- LLCoprocedureManager::instance().enqueueCoprocedure("AssetStorage","LLViewerAssetStorage::assetRequestCoro",
+ LLCoprocedureManager::instance().enqueueCoprocedure(VIEWER_ASSET_STORAGE_CORO_POOL,"LLViewerAssetStorage::assetRequestCoro",
boost::bind(&LLViewerAssetStorage::assetRequestCoro, this, req, uuid, atype, callback, user_data));
}
}