Remove aggressive thread checker from WeakPtrReference
This allows to create WeakPtr and dereference it on different threads. Fix test to validate it. Bug: webrtc:8517 Change-Id: Idaf0bbdcf14bffbe43cb5fb6514041e8fa746004 Reviewed-on: https://webrtc-review.googlesource.com/21700 Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Per Kjellander <perkj@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20634}
This commit is contained in:
committed by
Commit Bot
parent
0ec39e2d0f
commit
66cebbda35
@ -52,16 +52,13 @@ bool WeakReference::is_valid() const {
|
||||
}
|
||||
|
||||
WeakReferenceOwner::WeakReferenceOwner() {
|
||||
checker_.Detach();
|
||||
}
|
||||
|
||||
WeakReferenceOwner::~WeakReferenceOwner() {
|
||||
RTC_DCHECK(checker_.CalledSequentially());
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
WeakReference WeakReferenceOwner::GetRef() const {
|
||||
RTC_DCHECK(checker_.CalledSequentially());
|
||||
// If we hold the last reference to the Flag then create a new one.
|
||||
if (!HasRefs())
|
||||
flag_ = new RefCountedObject<WeakReference::Flag>();
|
||||
@ -70,7 +67,6 @@ WeakReference WeakReferenceOwner::GetRef() const {
|
||||
}
|
||||
|
||||
void WeakReferenceOwner::Invalidate() {
|
||||
RTC_DCHECK(checker_.CalledSequentially());
|
||||
if (flag_.get()) {
|
||||
flag_->Invalidate();
|
||||
flag_ = nullptr;
|
||||
|
||||
Reference in New Issue
Block a user