Fix race between ~SkThreadPool and SkThreadPool::Loop on fDone.
authorcommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 1 Oct 2013 18:44:18 +0000 (18:44 +0000)
committercommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 1 Oct 2013 18:44:18 +0000 (18:44 +0000)
commitedf23673468775470d55d9af5103c41137a1c0a3
tree55a3afc1fd196e6458646e30449925d73f1ba581
parent57f035ecae1ff8f2b2e0614e0649f0b90c69adad
Fix race between ~SkThreadPool and SkThreadPool::Loop on fDone.

We're writing fDone without holding the mutex.  Bad form, says tsan.

In practice this is fairly innocuous, as fDone only ever goes from false to
true and only once.  Though, I wouldn't be surprised if there were some way
this could leak a thread that never got the signal to die.

BUG=
R=scroggo@google.com, reed@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/25371003

git-svn-id: http://skia.googlecode.com/svn/trunk@11563 2bbb7eff-a529-9590-31e7-b0007b416f81
include/utils/SkThreadPool.h
src/utils/SkThreadPool.cpp