diff options
| author | Dave Houlton <euclid@lindenlab.com> | 2020-08-11 11:14:21 -0600 |
|---|---|---|
| committer | Dave Houlton <euclid@lindenlab.com> | 2020-08-11 11:14:21 -0600 |
| commit | 2fb998bc02f3d8a7e0753b5d34db2c13dc70e212 (patch) | |
| tree | de5f8398707a8556c5f7a74a9018bc3747e64330 /indra/newview/llviewerassetstorage.cpp | |
| parent | 38e585f5be6a1604aefd183d498070eae73dac0b (diff) | |
| parent | 89cde15fb8c52071805af78e61848e743f2ab2f1 (diff) | |
Merge branch 'master' v6.4.7 into DRTVWR-510
Diffstat (limited to 'indra/newview/llviewerassetstorage.cpp')
| -rw-r--r-- | indra/newview/llviewerassetstorage.cpp | 13 |
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)); } } |
