summaryrefslogtreecommitdiff
path: root/indra/llplugin/llpluginprocesschild.cpp
diff options
context:
space:
mode:
authorMark Palange (Mani) <palange@lindenlab.com>2010-02-02 14:45:42 -0800
committerMark Palange (Mani) <palange@lindenlab.com>2010-02-02 14:45:42 -0800
commit58f813a136a5a889e01b39e96714af91402321ba (patch)
treee8bed3b7f40a322e576485e95396e2d00de745ca /indra/llplugin/llpluginprocesschild.cpp
parent0f07ec0c692c94f60d9d834660362c4fc697bd1c (diff)
merge
Diffstat (limited to 'indra/llplugin/llpluginprocesschild.cpp')
-rw-r--r--indra/llplugin/llpluginprocesschild.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/indra/llplugin/llpluginprocesschild.cpp b/indra/llplugin/llpluginprocesschild.cpp
index ccf6dab942..07fc82c770 100644
--- a/indra/llplugin/llpluginprocesschild.cpp
+++ b/indra/llplugin/llpluginprocesschild.cpp
@@ -54,8 +54,14 @@ LLPluginProcessChild::~LLPluginProcessChild()
if(mInstance != NULL)
{
sendMessageToPlugin(LLPluginMessage("base", "cleanup"));
- delete mInstance;
- mInstance = NULL;
+
+ // IMPORTANT: under some (unknown) circumstances the apr_dso_unload() triggered when mInstance is deleted
+ // appears to fail and lock up which means that a given instance of the slplugin process never exits.
+ // This is bad, especially when users try to update their version of SL - it fails because the slplugin
+ // process as well as a bunch of plugin specific files are locked and cannot be overwritten.
+ exit( 0 );
+ //delete mInstance;
+ //mInstance = NULL;
}
}