diff options
| author | Vadim Savchuk <vsavchuk@productengine.com> | 2009-12-15 17:14:31 +0200 |
|---|---|---|
| committer | Vadim Savchuk <vsavchuk@productengine.com> | 2009-12-15 17:14:31 +0200 |
| commit | e303864c1792a69d25f42b9bc44bc59827cfdbd1 (patch) | |
| tree | cd176a6303c0c9786ee4be729b1f09a831865065 /indra/llplugin/llpluginprocessparent.cpp | |
| parent | 40fa0368919da7b4f3c105c6bdf3a497ac29c360 (diff) | |
| parent | d82f82d7965ec9360cb49ec7e6c1c2f984d4539b (diff) | |
Merge from default branch.
Resolved conflicts in llalertdialog.h and llnotify.cpp (local deletion vs
remote change) by removing them.
--HG--
branch : product-engine
Diffstat (limited to 'indra/llplugin/llpluginprocessparent.cpp')
| -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; |
