summaryrefslogtreecommitdiffstats
path: root/content/ppapi_plugin/ppapi_thread.cc
diff options
context:
space:
mode:
authorrsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-15 12:10:58 +0000
committerrsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-15 12:10:58 +0000
commit5625f3cf69a662ccaee4937b3bcc7a3caa0d74db (patch)
tree2c07e5a1ad80ede3f1a6b813a30401d64f6e7c38 /content/ppapi_plugin/ppapi_thread.cc
parent68c724fc897350b8380f26b546eb92d96a95c6f5 (diff)
downloadchromium_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.cc10
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);