#1186 Fix skin request not being counted for the total
parent
3271408650
commit
8e17f0c094
|
|
@ -548,8 +548,9 @@ LLViewerFetchedTexture* LLMeshUploadThread::FindViewerTexture(const LLImportMate
|
|||
return ppTex ? (*ppTex).get() : NULL;
|
||||
}
|
||||
|
||||
volatile S32 LLMeshRepoThread::sActiveHeaderRequests = 0;
|
||||
volatile S32 LLMeshRepoThread::sActiveLODRequests = 0;
|
||||
std::atomic<S32> LLMeshRepoThread::sActiveHeaderRequests = 0;
|
||||
std::atomic<S32> LLMeshRepoThread::sActiveLODRequests = 0;
|
||||
std::atomic<S32> LLMeshRepoThread::sActiveSkinRequests = 0;
|
||||
U32 LLMeshRepoThread::sMaxConcurrentRequests = 1;
|
||||
S32 LLMeshRepoThread::sRequestLowWater = REQUEST2_LOW_WATER_MIN;
|
||||
S32 LLMeshRepoThread::sRequestHighWater = REQUEST2_HIGH_WATER_MIN;
|
||||
|
|
@ -674,7 +675,9 @@ public:
|
|||
LLMeshSkinInfoHandler(const LLUUID& id, U32 offset, U32 requested_bytes)
|
||||
: LLMeshHandlerBase(offset, requested_bytes),
|
||||
mMeshID(id)
|
||||
{}
|
||||
{
|
||||
LLMeshRepoThread::incActiveSkinRequests();
|
||||
}
|
||||
virtual ~LLMeshSkinInfoHandler();
|
||||
|
||||
protected:
|
||||
|
|
@ -1701,6 +1704,20 @@ void LLMeshRepoThread::decActiveHeaderRequests()
|
|||
--LLMeshRepoThread::sActiveHeaderRequests;
|
||||
}
|
||||
|
||||
//static
|
||||
void LLMeshRepoThread::incActiveSkinRequests()
|
||||
{
|
||||
LLMutexLock lock(gMeshRepo.mThread->mMutex);
|
||||
++LLMeshRepoThread::sActiveSkinRequests;
|
||||
}
|
||||
|
||||
//static
|
||||
void LLMeshRepoThread::decActiveSkinRequests()
|
||||
{
|
||||
LLMutexLock lock(gMeshRepo.mThread->mMutex);
|
||||
--LLMeshRepoThread::sActiveSkinRequests;
|
||||
}
|
||||
|
||||
//return false if failed to get header
|
||||
bool LLMeshRepoThread::fetchMeshHeader(const LLVolumeParams& mesh_params, bool can_retry)
|
||||
{
|
||||
|
|
@ -3448,6 +3465,7 @@ LLMeshSkinInfoHandler::~LLMeshSkinInfoHandler()
|
|||
{
|
||||
LL_WARNS(LOG_MESH) << "deleting unprocessed request handler (may be ok on exit)" << LL_ENDL;
|
||||
}
|
||||
LLMeshRepoThread::decActiveSkinRequests();
|
||||
}
|
||||
|
||||
void LLMeshSkinInfoHandler::processFailure(LLCore::HttpStatus status)
|
||||
|
|
@ -4014,7 +4032,7 @@ void LLMeshRepository::notifyLoadedMeshes()
|
|||
mUploadErrorQ.pop();
|
||||
}
|
||||
|
||||
S32 active_count = LLMeshRepoThread::sActiveHeaderRequests + LLMeshRepoThread::sActiveLODRequests;
|
||||
S32 active_count = LLMeshRepoThread::sActiveHeaderRequests + LLMeshRepoThread::sActiveLODRequests + LLMeshRepoThread::sActiveSkinRequests;
|
||||
if (active_count < LLMeshRepoThread::sRequestLowWater)
|
||||
{
|
||||
S32 push_count = LLMeshRepoThread::sRequestHighWater - active_count;
|
||||
|
|
|
|||
|
|
@ -328,8 +328,9 @@ class LLMeshRepoThread : public LLThread
|
|||
{
|
||||
public:
|
||||
|
||||
volatile static S32 sActiveHeaderRequests;
|
||||
volatile static S32 sActiveLODRequests;
|
||||
static std::atomic<S32> sActiveHeaderRequests;
|
||||
static std::atomic<S32> sActiveLODRequests;
|
||||
static std::atomic<S32> sActiveSkinRequests;
|
||||
static U32 sMaxConcurrentRequests;
|
||||
static S32 sRequestLowWater;
|
||||
static S32 sRequestHighWater;
|
||||
|
|
@ -499,6 +500,8 @@ public:
|
|||
static void decActiveLODRequests();
|
||||
static void incActiveHeaderRequests();
|
||||
static void decActiveHeaderRequests();
|
||||
static void incActiveSkinRequests();
|
||||
static void decActiveSkinRequests();
|
||||
|
||||
// Set the caps strings and preferred version for constructing
|
||||
// mesh fetch URLs.
|
||||
|
|
|
|||
Loading…
Reference in New Issue