summaryrefslogtreecommitdiff
path: root/indra/llplugin
diff options
context:
space:
mode:
authorrichard <none@none>2010-01-07 19:05:40 -0800
committerrichard <none@none>2010-01-07 19:05:40 -0800
commit96898f35e8b65beb704ed13e5fb8ef4f43497675 (patch)
tree0815d61932ea63879b6c5257294b07a72749ec63 /indra/llplugin
parent26d2a5fea1d87ef531a5b66a8eed712f96096f51 (diff)
parent3a0b948bb355ab11f03173f3db06e63504ef0ac8 (diff)
merge
Diffstat (limited to 'indra/llplugin')
-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;
}
}