0b544ae222
SkRacy<T> is a zero-overhead wrapper for a T, except it also silences race warnings when TSAN is running. Here we apply in several classes. In SkMatrix and SkPathRef, we use it to opportunistically cache some idempotent work. In SkPixelRef, we wrap the genIDs. We think the worst that can happen here is we'll increment the global next-genID a few times instead of once when we go to get another ID. BUG=skia: Committed: https://skia.googlesource.com/skia/+/d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7 CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot,Canary-Chrome-Win7-Ninja-x86-SharedLib_ToT-Trybot,Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/371363004
28 lines
855 B
Plaintext
28 lines
855 B
Plaintext
# Suppressions for Thread Sanitizer
|
|
#
|
|
# CAREFUL! Comments must go on their own line or your suppressions will silently fail.
|
|
|
|
# WebP races (harmlessly) choosing function pointers for SIMD versions of some of its functions.
|
|
race:third_party/externals/libwebp
|
|
|
|
# Poppler races on startup.
|
|
race:libpoppler.so
|
|
# LCMS is used by poppler, and also races.
|
|
race:liblcms2.so
|
|
|
|
# skia:2459 Seemingly misdiagnosed use-after-free, having something to do with software GL drivers.
|
|
# Having trouble getting this suppression to match.
|
|
# We've tried: race:swrast_dri.so
|
|
# race:SkGLContextHelper::init
|
|
# Maybe because it's diagnosed as a use-after-free, not as a race?
|
|
race:SkGLContextHelper
|
|
|
|
# Threadsafe, should be ported to SkLazyPtr.
|
|
race:SkFontHost_FreeType
|
|
race:is_lcd_supported
|
|
|
|
# Not threadsafe, should be fixed.
|
|
race:RefFCI
|
|
race:SkString
|
|
race:SkPDF
|