summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-13 16:35:11 +0000
committershess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-13 16:35:11 +0000
commitdf939c99faf036de3a9837d349145743fb30836e (patch)
tree33ef4f664d7fee1f970a1b83c48688b5a28cd71e
parent4434bd2d55dde6f30d775ffaa5801a01252cb45d (diff)
downloadchromium_src-df939c99faf036de3a9837d349145743fb30836e.zip
chromium_src-df939c99faf036de3a9837d349145743fb30836e.tar.gz
chromium_src-df939c99faf036de3a9837d349145743fb30836e.tar.bz2
Merge 187674 "[Mac] Don't unload ppapi broker bundle."
> [Mac] Don't unload ppapi broker bundle. > > The module is being loaded in a way which destructively modifies the > Objective-C runtime structures, making it unsafe to unload. > > BUG=172319 > > Review URL: https://codereview.chromium.org/12585007 TBR=shess@chromium.org Review URL: https://codereview.chromium.org/12837003 git-svn-id: svn://svn.chromium.org/chrome/branches/1410/src@187874 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--content/ppapi_plugin/ppapi_thread.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/content/ppapi_plugin/ppapi_thread.cc b/content/ppapi_plugin/ppapi_thread.cc
index 6aa7b80..f2245f4 100644
--- a/content/ppapi_plugin/ppapi_thread.cc
+++ b/content/ppapi_plugin/ppapi_thread.cc
@@ -117,6 +117,16 @@ PpapiThread::~PpapiThread() {
plugin_entry_points_.shutdown_module();
WebKit::shutdown();
+#if defined(OS_MACOSX)
+ // TODO(shess): <http://crbug.com/172319> is about how modules
+ // cannot be unloaded when Objective-C is involved. interaction
+ // between the Objective-C runtime and module unloading. Leaking
+ // the module here to work around this, a later CL should autodetect
+ // the problem and leak in NativeLibrary.
+ if (is_broker_)
+ library_.Release();
+#endif
+
#if defined(OS_WIN)
if (permissions_.HasPermission(ppapi::PERMISSION_FLASH))
base::win::SetShouldCrashOnProcessDetach(false);