summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewer.cpp
diff options
context:
space:
mode:
authorbrad kittenbrink <brad@lindenlab.com>2009-10-21 19:08:25 -0700
committerbrad kittenbrink <brad@lindenlab.com>2009-10-21 19:08:25 -0700
commit0fc5ab7f183496212db22f59bfa5c388ff25f054 (patch)
treeb1119a9827be683c03d3cfd6a2148bdf01bef053 /indra/newview/llappviewer.cpp
parent19d23352bd955406b23f19959de71f717dceb798 (diff)
Workaround for DEV-35406 lleventhost crash on shutdown.
The fix deletes all LLEventPumps boost::signal objects prior to unloading any dlls. reviewed by Nat.
Diffstat (limited to 'indra/newview/llappviewer.cpp')
-rw-r--r--indra/newview/llappviewer.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 5b769dcab4..923a66ee8e 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1206,6 +1206,9 @@ bool LLAppViewer::mainLoop()
bool LLAppViewer::cleanup()
{
+ // workaround for DEV-35406 crash on shutdown
+ LLEventPumps::instance().reset();
+
// *TODO - generalize this and move DSO wrangling to a helper class -brad
std::set<struct apr_dso_handle_t *>::const_iterator i;
for(i = mPlugins.begin(); i != mPlugins.end(); ++i)
@@ -1214,9 +1217,7 @@ bool LLAppViewer::cleanup()
apr_status_t rv = apr_dso_sym((apr_dso_handle_sym_t*)&ll_plugin_stop_func, *i, "ll_plugin_stop");
ll_plugin_stop_func();
- // *NOTE - disabled unloading as partial solution to DEV-35406 crash on shutdown
- //rv = apr_dso_unload(*i);
- (void)rv;
+ rv = apr_dso_unload(*i);
}
mPlugins.clear();