summaryrefslogtreecommitdiff
path: root/indra/llplugin
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2024-09-23 11:36:50 -0400
committerNat Goodspeed <nat@lindenlab.com>2024-09-23 11:36:50 -0400
commit8bcff54654f9ec98d166dabd38180be63dc8837c (patch)
tree65d1744531195f7ec3bd8eee000928dcd8ca62a9 /indra/llplugin
parent4af7cd51e9cc22d9dc2fe42e378051c55515ac8e (diff)
parentdb013ab0cb7dafb964b149a36b6963770f7427e5 (diff)
Merge remote branch 'develop'into release/luau-scripting
Diffstat (limited to 'indra/llplugin')
-rw-r--r--indra/llplugin/llpluginprocessparent.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp
index 00cc6902d5..b838e05560 100644
--- a/indra/llplugin/llpluginprocessparent.cpp
+++ b/indra/llplugin/llpluginprocessparent.cpp
@@ -48,7 +48,7 @@ LLPluginProcessParentOwner::~LLPluginProcessParentOwner()
bool LLPluginProcessParent::sUseReadThread = false;
apr_pollset_t *LLPluginProcessParent::sPollSet = NULL;
bool LLPluginProcessParent::sPollsetNeedsRebuild = false;
-llcoro::Mutex *LLPluginProcessParent::sInstancesMutex;
+llcoro::Mutex *LLPluginProcessParent::sInstancesMutex = nullptr;
LLPluginProcessParent::mapInstances_t LLPluginProcessParent::sInstances;
LLThread *LLPluginProcessParent::sReadThread = NULL;
@@ -155,6 +155,12 @@ LLPluginProcessParent::ptr_t LLPluginProcessParent::create(LLPluginProcessParent
/*static*/
void LLPluginProcessParent::shutdown()
{
+ if (!sInstancesMutex)
+ {
+ // setup was not complete, skip shutdown
+ return;
+ }
+
llcoro::LockType lock(*sInstancesMutex);
mapInstances_t::iterator it;