summaryrefslogtreecommitdiff
path: root/indra/llplugin
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2012-06-06 16:38:16 -0400
committerNat Goodspeed <nat@lindenlab.com>2012-06-06 16:38:16 -0400
commit166f75d91f180d0ac45f0b8ee7c3a1b6742209fa (patch)
treee94ed285a533101cf8d8d358d88651ec718a7de6 /indra/llplugin
parentfd3ae758d0dc3cb4330ea9c7a9af8c0ffa046dfc (diff)
MAINT-1144: Defend against NULL LLPluginProcessParent::mProcess.
The change from LLProcessLauncher to LLProcess introduces the possibility of a NULL (default-constructed) LLProcessPtr. Add certain static LLProcess methods accepting LLProcessPtr, forwarding to nonstatic method when non-NULL but doing something reasonable with NULL. Use these methods in LLPLuginProcessParent.
Diffstat (limited to 'indra/llplugin')
-rw-r--r--indra/llplugin/llpluginprocessparent.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp
index f10eaee5b4..71a6145b58 100644
--- a/indra/llplugin/llpluginprocessparent.cpp
+++ b/indra/llplugin/llpluginprocessparent.cpp
@@ -134,11 +134,8 @@ LLPluginProcessParent::~LLPluginProcessParent()
// and remove it from our map
mSharedMemoryRegions.erase(iter);
}
-
- if (mProcess)
- {
- mProcess->kill();
- }
+
+ LLProcess::kill(mProcess);
killSockets();
}
@@ -471,7 +468,7 @@ void LLPluginProcessParent::idle(void)
break;
case STATE_EXITING:
- if (! mProcess->isRunning())
+ if (! LLProcess::isRunning(mProcess))
{
setState(STATE_CLEANUP);
}
@@ -499,7 +496,7 @@ void LLPluginProcessParent::idle(void)
break;
case STATE_CLEANUP:
- mProcess->kill();
+ LLProcess::kill(mProcess);
killSockets();
setState(STATE_DONE);
break;
@@ -1078,7 +1075,7 @@ bool LLPluginProcessParent::pluginLockedUpOrQuit()
{
bool result = false;
- if (! mProcess->isRunning())
+ if (! LLProcess::isRunning(mProcess))
{
LL_WARNS("Plugin") << "child exited" << LL_ENDL;
result = true;