diff options
author | rsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-15 12:10:58 +0000 |
---|---|---|
committer | rsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-15 12:10:58 +0000 |
commit | 5625f3cf69a662ccaee4937b3bcc7a3caa0d74db (patch) | |
tree | 2c07e5a1ad80ede3f1a6b813a30401d64f6e7c38 /content/ppapi_plugin/ppapi_thread.cc | |
parent | 68c724fc897350b8380f26b546eb92d96a95c6f5 (diff) | |
download | chromium_src-5625f3cf69a662ccaee4937b3bcc7a3caa0d74db.zip chromium_src-5625f3cf69a662ccaee4937b3bcc7a3caa0d74db.tar.gz chromium_src-5625f3cf69a662ccaee4937b3bcc7a3caa0d74db.tar.bz2 |
[Mac] Do not unload base::NativeLibrary-ies if they contain ObjC segments.
Once an ObjC image is loaded into a process, the runtime will place unloadable
data into its caches. If the bundle is unloaded, then ObjC calls could result
in dereferencing memory in an unloaded module.
CFBundle and NSBundle explicitly say to not unload executable bundles
containing ObjC, but we were doing so anyways (oops!).
BUG=172319
TEST=Verify that fixupSelectorsInMethodList crash does not happen anymore.
Review URL: https://chromiumcodereview.appspot.com/12793004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188356 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/ppapi_plugin/ppapi_thread.cc')
-rw-r--r-- | content/ppapi_plugin/ppapi_thread.cc | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/content/ppapi_plugin/ppapi_thread.cc b/content/ppapi_plugin/ppapi_thread.cc index f2245f4..6aa7b80 100644 --- a/content/ppapi_plugin/ppapi_thread.cc +++ b/content/ppapi_plugin/ppapi_thread.cc @@ -117,16 +117,6 @@ 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); |