summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-10-10 22:32:11 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-10-10 22:38:36 +0300
commitdc2fc3488d8d1ebb2e90520dd17325f08b7c538b (patch)
tree01884fed5eb9ad89911a21ccffa1c6064768ca83
parenteb7ab130003ce1e8f005e3a0d4263987f08759ac (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.cpp12
-rw-r--r--indra/llcommon/threadpool.h3
-rw-r--r--indra/llwindow/llwindowwin32.cpp3
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();
}