summaryrefslogtreecommitdiff
path: root/indra/llcommon
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcommon')
-rw-r--r--indra/llcommon/threadpool.cpp5
-rw-r--r--indra/llcommon/threadpool.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/indra/llcommon/threadpool.cpp b/indra/llcommon/threadpool.cpp
index d5adf11264..4a7ead2110 100644
--- a/indra/llcommon/threadpool.cpp
+++ b/indra/llcommon/threadpool.cpp
@@ -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(
diff --git a/indra/llcommon/threadpool.h b/indra/llcommon/threadpool.h
index f8eec3b457..0a5f14529b 100644
--- a/indra/llcommon/threadpool.h
+++ b/indra/llcommon/threadpool.h
@@ -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);