diff options
author | richard <none@none> | 2009-12-14 15:11:55 -0800 |
---|---|---|
committer | richard <none@none> | 2009-12-14 15:11:55 -0800 |
commit | a63531145d210a872072f20ee1f04d9504c6617c (patch) | |
tree | 73ac302bbf05c50246eb3f72b7cea52356f6ccbc /indra/llplugin | |
parent | daeef47ce111eb8f131dc8b7a2f6aca6226f7867 (diff) | |
parent | 0d9bae83edc9b41ebfeffd947f9b149e3312fded (diff) |
merge
Diffstat (limited to 'indra/llplugin')
-rw-r--r-- | indra/llplugin/llpluginprocessparent.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp index f60838b1e7..dab6d645dd 100644 --- a/indra/llplugin/llpluginprocessparent.cpp +++ b/indra/llplugin/llpluginprocessparent.cpp @@ -79,8 +79,10 @@ LLPluginProcessParent::~LLPluginProcessParent() // and remove it from our map mSharedMemoryRegions.erase(iter); } - - mProcess.kill(); + + // orphaning the process means it won't be killed when the LLProcessLauncher is destructed. + // This is what we want -- it should exit cleanly once it notices the sockets have been closed. + mProcess.orphan(); killSockets(); } @@ -414,7 +416,8 @@ void LLPluginProcessParent::idle(void) break; case STATE_CLEANUP: - mProcess.kill(); + // Don't do a kill here anymore -- closing the sockets is the new 'kill'. + mProcess.orphan(); killSockets(); setState(STATE_DONE); break; |