summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorglider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-06 08:46:22 +0000
committerglider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-06 08:46:22 +0000
commit193c761fac171c8ec477b0fdf36981465ed2aa7b (patch)
treeb57bf5f1fe7c5c30968275e5ba724a9531ad44be /base
parent2862e1c9ede785ae0be6e1d6d53b39b85a701481 (diff)
downloadchromium_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.mm6
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];
}