Index: webrtc/base/race_checker.cc |
diff --git a/webrtc/base/race_checker.cc b/webrtc/base/race_checker.cc |
index 9f0946ca76f87e1386219b21f8073676f3497a00..78d6a259b325d8599e1cbf0d2ed139e543d66300 100644 |
--- a/webrtc/base/race_checker.cc |
+++ b/webrtc/base/race_checker.cc |
@@ -14,6 +14,10 @@ namespace rtc { |
RaceChecker::RaceChecker() {} |
+// Note that the implementation here is in itself racy, but we pretend it does |
+// not matter. If there is indeed a race (two threads both think access_count_ |
+// is zero) access_count_ will likely only be incremented once, but decremented |
+// twice, causing the IsThreadRefEqual() check to return false at a later point. |
kwiberg-webrtc
2016/09/20 19:29:07
It may be incremented once instead of twice, possi
pbos-webrtc
2016/09/20 19:36:02
If two threads use it, and anyone at any point wri
kwiberg-webrtc
2016/09/20 20:01:31
Yes, garbage in access_count_ shouldn't be a probl
|
bool RaceChecker::Acquire() const { |
const PlatformThreadRef current_thread = CurrentThreadRef(); |
// Set new accessing thread if this is a new use. |