From 5051fa9af913d462ac26a05a113e4f1699b6fcb9 Mon Sep 17 00:00:00 2001 From: "jschuh@chromium.org" Date: Tue, 26 Jul 2011 21:30:34 +0000 Subject: Warm up GetUserDefaultLangID before closing client ALPC connections. BUG=90492 TEST=Run Chrome on 32-bit Windows 7 or Vista Review URL: http://codereview.chromium.org/7461092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94169 0039d316-1c4b-4281-b951-d872f2087c98 --- sandbox/src/handle_closer_agent.cc | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'sandbox') diff --git a/sandbox/src/handle_closer_agent.cc b/sandbox/src/handle_closer_agent.cc index b640c08..4e946f2 100644 --- a/sandbox/src/handle_closer_agent.cc +++ b/sandbox/src/handle_closer_agent.cc @@ -56,6 +56,13 @@ bool HandleCloserAgent::CloseHandles() { const int kInvalidHandleThreshold = 100; const size_t kHandleOffset = sizeof(HANDLE); + // Need to warm up GetUserDefaultLangID first if we're closing ALPC clients. + HandleMap::iterator names = handles_to_close_.find(L"ALPC Port"); + if (names != handles_to_close_.end() && + (names->second.empty() || names->second.size() == 0)) { + ::GetUserDefaultLangID(); + } + if (!::GetProcessHandleCount(::GetCurrentProcess(), &handle_count)) return false; -- cgit v1.1