summaryrefslogtreecommitdiff
path: root/indra/llplugin/llpluginprocessparent.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-10-31 18:47:01 +0200
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-10-31 19:13:26 +0200
commitf7516a463114e3982b7d4cbd86645fc4369ffce9 (patch)
treef945c0d1e94cb61e26c44cc560dfc2da479fff00 /indra/llplugin/llpluginprocessparent.cpp
parenta12552408570e2e0e689cbdd4671f316568d0205 (diff)
#4918 Crash at LLPluginProcessParent::poll
Bugsplat shows that mutex is null. It's possible that no instances exist thus mutex wasn't initialized.
Diffstat (limited to 'indra/llplugin/llpluginprocessparent.cpp')
-rw-r--r--indra/llplugin/llpluginprocessparent.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp
index 02c7d9507d..4f55d75e7d 100644
--- a/indra/llplugin/llpluginprocessparent.cpp
+++ b/indra/llplugin/llpluginprocessparent.cpp
@@ -982,15 +982,18 @@ void LLPluginProcessParent::poll(F64 timeout)
}
}
- // Remove instances in the done state from the sInstances map.
- LLCoros::LockType lock(*sInstancesMutex);
- mapInstances_t::iterator itClean = sInstances.begin();
- while (itClean != sInstances.end())
+ if (sInstancesMutex)
{
- if ((*itClean).second->isDone())
- itClean = sInstances.erase(itClean);
- else
- ++itClean;
+ // Remove instances in the done state from the sInstances map.
+ LLCoros::LockType lock(*sInstancesMutex);
+ mapInstances_t::iterator itClean = sInstances.begin();
+ while (itClean != sInstances.end())
+ {
+ if ((*itClean).second->isDone())
+ itClean = sInstances.erase(itClean);
+ else
+ ++itClean;
+ }
}
}