SL-18721: Faster viewer shutdown time since performance improvements can lead to perceived inventory loss due to cache corruption

master
Alexander Gavriliuk 2023-03-20 10:20:06 +01:00 committed by Guru
parent c23353cfc3
commit cf692c40b0
3 changed files with 12 additions and 0 deletions

View File

@ -39,6 +39,11 @@ void LL::ThreadPool::start()
run(tname);
});
}
// Special workflow for LLWindowWin32Thread - it's close() should be called explicitly
if (mExplicitShutdown)
return;
// Listen on "LLApp", and when the app is shutting down, close the queue
// and join the workers.
LLEventPumps::instance().obtain("LLApp").listen(

View File

@ -59,6 +59,10 @@ namespace LL
*/
virtual void run();
protected:
// LLWindowWin32Thread should set this flag to true
bool mExplicitShutdown { false };
private:
void run(const std::string& name);

View File

@ -4581,6 +4581,9 @@ std::vector<std::string> LLWindowWin32::getDynamicFallbackFontList()
inline LLWindowWin32::LLWindowWin32Thread::LLWindowWin32Thread()
: ThreadPool("Window Thread", 1, MAX_QUEUE_SIZE)
{
// Set this flag to true to avoid of implicit call of close() from start()
mExplicitShutdown = true;
ThreadPool::start();
}