diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-10-10 22:32:11 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-10-10 22:38:36 +0300 |
commit | dc2fc3488d8d1ebb2e90520dd17325f08b7c538b (patch) | |
tree | 01884fed5eb9ad89911a21ccffa1c6064768ca83 | |
parent | eb7ab130003ce1e8f005e3a0d4263987f08759ac (diff) |
Revert "SL-18721 Viewer shutdown order changes"
This reverts commit edf0874e0656c6f512df50ee52236209531ca329.
Reverted since it causes a significant uptick in shutdown freezes.
Can't repro those freezes, will seek an alternate solution.
-rw-r--r-- | indra/llcommon/threadpool.cpp | 12 | ||||
-rw-r--r-- | indra/llcommon/threadpool.h | 3 | ||||
-rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 3 |
3 files changed, 4 insertions, 14 deletions
diff --git a/indra/llcommon/threadpool.cpp b/indra/llcommon/threadpool.cpp index 22bbff4478..d5adf11264 100644 --- a/indra/llcommon/threadpool.cpp +++ b/indra/llcommon/threadpool.cpp @@ -21,12 +21,11 @@ #include "llevents.h" #include "stringize.h" -LL::ThreadPool::ThreadPool(const std::string& name, size_t threads, size_t capacity, bool auto_shutdown): +LL::ThreadPool::ThreadPool(const std::string& name, size_t threads, size_t capacity): super(name), mQueue(name, capacity), mName("ThreadPool:" + name), - mThreadCount(threads), - mAutomaticShutdown(auto_shutdown) + mThreadCount(threads) {} void LL::ThreadPool::start() @@ -40,13 +39,6 @@ void LL::ThreadPool::start() run(tname); }); } - - // Some threads might need to run longer than LLEventPumps - if (!mAutomaticShutdown) - { - return; - } - // Listen on "LLApp", and when the app is shutting down, close the queue // and join the workers. LLEventPumps::instance().obtain("LLApp").listen( diff --git a/indra/llcommon/threadpool.h b/indra/llcommon/threadpool.h index 22c875edb9..f8eec3b457 100644 --- a/indra/llcommon/threadpool.h +++ b/indra/llcommon/threadpool.h @@ -31,7 +31,7 @@ namespace LL * Pass ThreadPool a string name. This can be used to look up the * relevant WorkQueue. */ - ThreadPool(const std::string& name, size_t threads=1, size_t capacity=1024, bool auto_shutdown = true); + ThreadPool(const std::string& name, size_t threads=1, size_t capacity=1024); virtual ~ThreadPool(); /** @@ -66,7 +66,6 @@ namespace LL std::string mName; size_t mThreadCount; std::vector<std::pair<std::string, std::thread>> mThreads; - bool mAutomaticShutdown; }; } // namespace LL diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 01e38fcc9d..2e560ddb0a 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -828,7 +828,6 @@ void LLWindowWin32::close() // Is window is already closed? if (!mWindowHandle) { - mWindowThread->close(); return; } @@ -4591,7 +4590,7 @@ std::vector<std::string> LLWindowWin32::getDynamicFallbackFontList() #endif // LL_WINDOWS inline LLWindowWin32::LLWindowWin32Thread::LLWindowWin32Thread() - : ThreadPool("Window Thread", 1, MAX_QUEUE_SIZE, false) + : ThreadPool("Window Thread", 1, MAX_QUEUE_SIZE) { ThreadPool::start(); } |