summaryrefslogtreecommitdiff
path: root/indra/llplugin/llpluginprocessparent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llplugin/llpluginprocessparent.cpp')
-rw-r--r--indra/llplugin/llpluginprocessparent.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp
index 19a0ce639a..3deee2fb3e 100644
--- a/indra/llplugin/llpluginprocessparent.cpp
+++ b/indra/llplugin/llpluginprocessparent.cpp
@@ -275,6 +275,9 @@ void LLPluginProcessParent::init(const std::string &launcher_filename, const std
{
mProcessParams.executable = launcher_filename;
mProcessParams.cwd = plugin_dir;
+#if LL_WINDOWS
+ mProcessParams.envs.add(llformat("SYSTEMROOT=%s", getenv("SYSTEMROOT")));
+#endif
mPluginFile = plugin_filename;
mPluginDir = plugin_dir;
mCPUUsage = 0.0f;
@@ -575,7 +578,7 @@ void LLPluginProcessParent::idle(void)
params.args.add("-e");
params.args.add("tell application \"Terminal\"");
params.args.add("-e");
- params.args.add(STRINGIZE("set win to do script \"lldb -pid "
+ params.args.add(STRINGIZE("set win to do script \"lldb -p "
<< mProcess->getProcessID() << "\""));
params.args.add("-e");
params.args.add("do script \"continue\" in win");
@@ -982,14 +985,18 @@ void LLPluginProcessParent::poll(F64 timeout)
}
}
- // Remove instances in the done state from the sInstances map.
- 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;
+ }
}
}