diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-13 21:35:36 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-13 21:35:36 +0000 |
commit | fdaf9d1bed089dfafdae4d623d78e49aacff1e24 (patch) | |
tree | 9640684ade9f48be4ca5583eb3efdedee6fb4994 | |
parent | 9a79ccb05c24ab74a1e426d5b06361b9623dfc3c (diff) | |
download | chromium_src-fdaf9d1bed089dfafdae4d623d78e49aacff1e24.zip chromium_src-fdaf9d1bed089dfafdae4d623d78e49aacff1e24.tar.gz chromium_src-fdaf9d1bed089dfafdae4d623d78e49aacff1e24.tar.bz2 |
Makes BackgroundServiceLoader destroy loader on background thread
As the loader is used on the background thread it should also be
destroyed on the background thread. This way all usage is kept to a
single thread so that if the loader uses resources that require access
on the same thread we don't run into issues.
BUG=372585
TEST=covered by tests
R=davemoore@chromium.org
Review URL: https://codereview.chromium.org/276573013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270212 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | mojo/service_manager/background_service_loader.cc | 2 | ||||
-rw-r--r-- | tools/valgrind/drmemory/suppressions.txt | 38 |
2 files changed, 2 insertions, 38 deletions
diff --git a/mojo/service_manager/background_service_loader.cc b/mojo/service_manager/background_service_loader.cc index d4dcd4a..e780767 100644 --- a/mojo/service_manager/background_service_loader.cc +++ b/mojo/service_manager/background_service_loader.cc @@ -91,6 +91,8 @@ void BackgroundServiceLoader::OnServiceErrorOnBackgroundThread( void BackgroundServiceLoader::ShutdownOnBackgroundThread() { delete background_loader_; + // Destroy |loader_| on the thread it's actually used on. + loader_.reset(); } } // namespace mojo diff --git a/tools/valgrind/drmemory/suppressions.txt b/tools/valgrind/drmemory/suppressions.txt index de3b947..ccb959a 100644 --- a/tools/valgrind/drmemory/suppressions.txt +++ b/tools/valgrind/drmemory/suppressions.txt @@ -512,41 +512,3 @@ NPCTRL.dll!DllGetClassObject NPCTRL.dll!DllGetClassObject NPCTRL.dll!DllGetClassObject NPCTRL.dll!DllGetClassObject - -GDI USAGE ERROR -name=http://crbug.com/372512 -system call NtUserCallOneParam.RELEASEDC -USER32.dll!ReleaseDC -*!gfx::NativeViewGLSurfaceOSMesa::Destroy -... -*!mojo::services::CommandBufferImpl::~CommandBufferImpl -... -*!mojo::services::NativeViewportImpl::~NativeViewportImpl -... -*!mojo::Application::~Application -... -*!mojo::BackgroundServiceLoader::~BackgroundServiceLoader -... -*!mojo::ServiceManager::~ServiceManager -*!mojo::shell::Context::~Context -*!base::DeleteHelper<>::DoDelete - -HANDLE LEAK -name=http://crbug.com/372585 -system call NtUserCreateWindowEx -... -USER32.dll!CreateWindowExW -gfx.dll!gfx::WindowImpl::Init -mojo_native_viewport_service.dll!mojo::services::NativeViewportWin::Init -mojo_native_viewport_service.dll!mojo::services::NativeViewportImpl::Create -mojo_native_viewport_service.dll!mojo::NativeViewportStub::Accept -mojo_native_viewport_service.dll!mojo::internal::Router::HandleIncomingMessage -mojo_native_viewport_service.dll!mojo::internal::MessageHeaderValidator::Accept -mojo_native_viewport_service.dll!mojo::ReadAndDispatchMessage -... -base.dll!base::MessageLoop::RunTask -base.dll!base::MessageLoop::DeferOrRunPendingTask -base.dll!base::MessageLoop::DoWork -base.dll!base::MessagePumpDefault::Run -... -base.dll!base::Thread::ThreadMain |