summaryrefslogtreecommitdiffstats
path: root/tools/valgrind/tsan
diff options
context:
space:
mode:
authoralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 01:34:51 +0000
committeralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 01:34:51 +0000
commitd5eb9ccc118f56565325cff1cbb24571511d1925 (patch)
treee5b9c05d2954b4c1f416970c8647463587aa73a1 /tools/valgrind/tsan
parent3214fd26bb2ccd17e2611f69c895f4b43cf87bf1 (diff)
downloadchromium_src-d5eb9ccc118f56565325cff1cbb24571511d1925.zip
chromium_src-d5eb9ccc118f56565325cff1cbb24571511d1925.tar.gz
chromium_src-d5eb9ccc118f56565325cff1cbb24571511d1925.tar.bz2
Allow multiple base::MessagePumpForUI instances to be created simultanenously on Windows.
The current implementation of base::MessagePumpForUI on Windows registers a window class with a predefined name in order to create a message-only window. The window class is unregistered when base::MessagePumpForUI is deleted. This causes issues when two or more instances of base::MessagePumpForUI are created/destroyed simultanenously on different threads. For instance once thread can unregister the window class right before the other thread is trying to create a window using this class. The CL addresses this problem by switching MessageWindow to implement a message-only window. It also moves MessageWindow from remoting/host/win to base/win along with the corresponding unit test. MessageWindow registers a uniquely named window class per MessageWindow instance making sure that different MessageWindow objects do not share any resources. In the future this can be optimized further by registering a common window class shared by all MessageWindow objects in a thread-safe manner (by using LazyInstance for example). BUG=241939 Review URL: https://chromiumcodereview.appspot.com/15261005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201955 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/valgrind/tsan')
-rw-r--r--tools/valgrind/tsan/suppressions.txt31
1 files changed, 0 insertions, 31 deletions
diff --git a/tools/valgrind/tsan/suppressions.txt b/tools/valgrind/tsan/suppressions.txt
index a771a48..2650100 100644
--- a/tools/valgrind/tsan/suppressions.txt
+++ b/tools/valgrind/tsan/suppressions.txt
@@ -1126,34 +1126,3 @@
...
fun:media::FFmpegVideoDecoder::Decode
}
-{
- bug_241939a
- ThreadSanitizer:Race
- fun:CreateDialogParamW
- fun:CharPrevW
- fun:SystemParametersInfoW
- fun:RegisterClassExW
- fun:base::MessagePumpForUI::InitMessageWnd
- fun:base::MessagePumpForUI::MessagePumpForUI
- fun:base::MessageLoop::MessageLoop
- fun:remoting::AutoThread::ThreadMain
-}
-{
- bug_241939b
- ThreadSanitizer:Race
- fun:GetWindowLongW
- fun:GetWindowLongW
- fun:GetWindowLongW
- fun:PostMessageW
- fun:PostMessageW
- fun:SetWindowTextW
- fun:KiUserCallbackDispatcher
- fun:LoadStringA
- fun:LoadStringA
- fun:LoadStringA
- fun:CreateWindowExW
- fun:base::MessagePumpForUI::InitMessageWnd
- fun:base::MessagePumpForUI::MessagePumpForUI
- fun:base::MessageLoop::MessageLoop
- fun:remoting::AutoThread::ThreadMain
-}