skia2/include
scroggo 6351640285 Fixes for SkRWBuffer
Do not call SkBufferHead::validate in SkROBuffer's destructor, which
may be called in a separate thread from SkRWBuffer::append. validate()
reads SkBufferBlock::fUsed, and append() writes to it, resulting in
a data race.

Update some comments to be more clear about how it is safe to use
these classes across threads.

Test the readers in separate threads.

In addition, make sure it is safe to create a reader even when no
data has been appended. Add tests for this case.

Mark a parameter to SkBufferHead::validate() as const, reflecting
its use.

BUG=chromium:601578
BUG=chromium:605479

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1871953002

Review URL: https://codereview.chromium.org/1871953002
2016-04-22 06:59:01 -07:00
..
android Move SkBitmapRegionDecoder to include/android and src/android 2015-11-13 06:11:09 -08:00
animator Change SkTime::GetMSecs to double; ensure values stored in SkMSec do not overflow. 2016-03-25 12:59:53 -07:00
c add drawCircle to c api 2016-02-09 13:25:51 -08:00
codec Make all the codecs default profiles based on gTreatSkColorAsSRGB. 2016-04-20 15:07:32 -07:00
config SkPDF: Use Pathops clipping 2016-03-31 07:33:57 -07:00
core Fixes for SkRWBuffer 2016-04-22 06:59:01 -07:00
effects Image filters: remove SkBitmap-based cache. 2016-04-21 06:49:15 -07:00
gpu Refactor to separate backend object lifecycle and GpuResource budget decision 2016-04-22 01:48:29 -07:00
images Delete SkPageFlipper 2016-03-25 10:31:22 -07:00
pathops Move SkTDArray to private. 2016-02-18 08:53:33 -08:00
ports Modernize and trim down SkOnce. 2016-04-18 08:09:11 -07:00
private Fix indentation and casts in SkTArray. 2016-04-21 10:52:03 -07:00
svg move SkTDict and SkTSearch into private 2016-01-03 18:36:05 -08:00
utils Reverse dependency between SkScalar.h and SkFixed.h. 2016-04-07 08:49:31 -07:00
views Move SkGLContext and some GrGLInterface implementations to skgputest module 2016-03-30 18:56:20 -07:00
xml remove unused BML (binary xml) code 2016-04-09 11:09:49 -07:00