diff options
author | glider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-06 08:46:22 +0000 |
---|---|---|
committer | glider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-06 08:46:22 +0000 |
commit | 193c761fac171c8ec477b0fdf36981465ed2aa7b (patch) | |
tree | b57bf5f1fe7c5c30968275e5ba724a9531ad44be /base | |
parent | 2862e1c9ede785ae0be6e1d6d53b39b85a701481 (diff) | |
download | chromium_src-193c761fac171c8ec477b0fdf36981465ed2aa7b.zip chromium_src-193c761fac171c8ec477b0fdf36981465ed2aa7b.tar.gz chromium_src-193c761fac171c8ec477b0fdf36981465ed2aa7b.tar.bz2 |
Annotate a benign race between task_.get() and task_.reset()
TBR=timurrrr
Review URL: http://codereview.chromium.org/3365009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58625 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/worker_pool_mac.mm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/base/worker_pool_mac.mm b/base/worker_pool_mac.mm index 9a9076e..b9d4192 100644 --- a/base/worker_pool_mac.mm +++ b/base/worker_pool_mac.mm @@ -4,6 +4,7 @@ #include "base/worker_pool_mac.h" +#include "base/third_party/dynamic_annotations/dynamic_annotations.h" #include "base/histogram.h" #include "base/logging.h" #import "base/scoped_nsautorelease_pool.h" @@ -103,9 +104,12 @@ size_t outstanding_ = 0; // Operations posted but not completed. } - (void)dealloc { + // Getting the task_ contents without a lock can lead to a benign data race. + // We annotate it to stay silent under ThreadSanitizer. + ANNOTATE_IGNORE_READS_BEGIN(); DCHECK(!task_.get()) << "-[TaskOperation dealloc] called without running task"; - + ANNOTATE_IGNORE_READS_END(); [super dealloc]; } |