@@ -550,6 +550,7 @@ LLViewerFetchedTexture* LLMeshUploadThread::FindViewerTexture(const LLImportMate
550
550
551
551
std::atomic<S32> LLMeshRepoThread::sActiveHeaderRequests = 0 ;
552
552
std::atomic<S32> LLMeshRepoThread::sActiveLODRequests = 0 ;
553
+ std::atomic<S32> LLMeshRepoThread::sActiveSkinRequests = 0 ;
553
554
U32 LLMeshRepoThread::sMaxConcurrentRequests = 1 ;
554
555
S32 LLMeshRepoThread::sRequestLowWater = REQUEST2_LOW_WATER_MIN;
555
556
S32 LLMeshRepoThread::sRequestHighWater = REQUEST2_HIGH_WATER_MIN;
@@ -674,7 +675,9 @@ class LLMeshSkinInfoHandler : public LLMeshHandlerBase
674
675
LLMeshSkinInfoHandler (const LLUUID& id, U32 offset, U32 requested_bytes)
675
676
: LLMeshHandlerBase(offset, requested_bytes),
676
677
mMeshID (id)
677
- {}
678
+ {
679
+ LLMeshRepoThread::incActiveSkinRequests ();
680
+ }
678
681
virtual ~LLMeshSkinInfoHandler ();
679
682
680
683
protected:
@@ -1701,6 +1704,20 @@ void LLMeshRepoThread::decActiveHeaderRequests()
1701
1704
--LLMeshRepoThread::sActiveHeaderRequests ;
1702
1705
}
1703
1706
1707
+ // static
1708
+ void LLMeshRepoThread::incActiveSkinRequests ()
1709
+ {
1710
+ LLMutexLock lock (gMeshRepo .mThread ->mMutex );
1711
+ ++LLMeshRepoThread::sActiveSkinRequests ;
1712
+ }
1713
+
1714
+ // static
1715
+ void LLMeshRepoThread::decActiveSkinRequests ()
1716
+ {
1717
+ LLMutexLock lock (gMeshRepo .mThread ->mMutex );
1718
+ --LLMeshRepoThread::sActiveSkinRequests ;
1719
+ }
1720
+
1704
1721
// return false if failed to get header
1705
1722
bool LLMeshRepoThread::fetchMeshHeader (const LLVolumeParams& mesh_params, bool can_retry)
1706
1723
{
@@ -3448,6 +3465,7 @@ LLMeshSkinInfoHandler::~LLMeshSkinInfoHandler()
3448
3465
{
3449
3466
LL_WARNS (LOG_MESH) << " deleting unprocessed request handler (may be ok on exit)" << LL_ENDL;
3450
3467
}
3468
+ LLMeshRepoThread::decActiveSkinRequests ();
3451
3469
}
3452
3470
3453
3471
void LLMeshSkinInfoHandler::processFailure (LLCore::HttpStatus status)
@@ -4057,7 +4075,7 @@ void LLMeshRepository::notifyLoadedMeshes()
4057
4075
mUploadErrorQ .pop ();
4058
4076
}
4059
4077
4060
- S32 active_count = LLMeshRepoThread::sActiveHeaderRequests + LLMeshRepoThread::sActiveLODRequests ;
4078
+ S32 active_count = LLMeshRepoThread::sActiveHeaderRequests + LLMeshRepoThread::sActiveLODRequests + LLMeshRepoThread:: sActiveSkinRequests ;
4061
4079
if (active_count < LLMeshRepoThread::sRequestLowWater )
4062
4080
{
4063
4081
S32 push_count = LLMeshRepoThread::sRequestHighWater - active_count;
0 commit comments