diff options
author | shess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-13 16:35:11 +0000 |
---|---|---|
committer | shess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-13 16:35:11 +0000 |
commit | df939c99faf036de3a9837d349145743fb30836e (patch) | |
tree | 33ef4f664d7fee1f970a1b83c48688b5a28cd71e | |
parent | 4434bd2d55dde6f30d775ffaa5801a01252cb45d (diff) | |
download | chromium_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.cc | 10 |
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); |