Chromium Code Reviews| 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. |