diff options
author | brad kittenbrink <brad@lindenlab.com> | 2009-10-21 19:08:25 -0700 |
---|---|---|
committer | brad kittenbrink <brad@lindenlab.com> | 2009-10-21 19:08:25 -0700 |
commit | 0fc5ab7f183496212db22f59bfa5c388ff25f054 (patch) | |
tree | b1119a9827be683c03d3cfd6a2148bdf01bef053 /indra/newview/llappviewer.cpp | |
parent | 19d23352bd955406b23f19959de71f717dceb798 (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.cpp | 7 |
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(); |