forked from mirrors/gecko-dev
Bug 1932783 - Make nsHostKey::flags Atomic, a=RyanVM
This commit is contained in:
parent
425cc96639
commit
1db5716074
3 changed files with 17 additions and 4 deletions
|
|
@ -39,6 +39,15 @@ nsHostKey::nsHostKey(const nsACString& aHost, const nsACString& aTrrServer,
|
||||||
pb(aPb),
|
pb(aPb),
|
||||||
originSuffix(aOriginsuffix) {}
|
originSuffix(aOriginsuffix) {}
|
||||||
|
|
||||||
|
nsHostKey::nsHostKey(const nsHostKey& other)
|
||||||
|
: host(other.host),
|
||||||
|
mTrrServer(other.mTrrServer),
|
||||||
|
type(other.type),
|
||||||
|
flags(other.flags),
|
||||||
|
af(other.af),
|
||||||
|
pb(other.pb),
|
||||||
|
originSuffix(other.originSuffix) {}
|
||||||
|
|
||||||
bool nsHostKey::operator==(const nsHostKey& other) const {
|
bool nsHostKey::operator==(const nsHostKey& other) const {
|
||||||
return host == other.host && mTrrServer == other.mTrrServer &&
|
return host == other.host && mTrrServer == other.mTrrServer &&
|
||||||
type == other.type &&
|
type == other.type &&
|
||||||
|
|
|
||||||
|
|
@ -79,13 +79,15 @@ struct nsHostKey {
|
||||||
const nsCString host;
|
const nsCString host;
|
||||||
const nsCString mTrrServer;
|
const nsCString mTrrServer;
|
||||||
uint16_t type = 0;
|
uint16_t type = 0;
|
||||||
nsIDNSService::DNSFlags flags = nsIDNSService::RESOLVE_DEFAULT_FLAGS;
|
mozilla::Atomic<nsIDNSService::DNSFlags> flags{
|
||||||
|
nsIDNSService::RESOLVE_DEFAULT_FLAGS};
|
||||||
uint16_t af = 0;
|
uint16_t af = 0;
|
||||||
bool pb = false;
|
bool pb = false;
|
||||||
const nsCString originSuffix;
|
const nsCString originSuffix;
|
||||||
explicit nsHostKey(const nsACString& host, const nsACString& aTrrServer,
|
explicit nsHostKey(const nsACString& host, const nsACString& aTrrServer,
|
||||||
uint16_t type, nsIDNSService::DNSFlags flags, uint16_t af,
|
uint16_t type, nsIDNSService::DNSFlags flags, uint16_t af,
|
||||||
bool pb, const nsACString& originSuffix);
|
bool pb, const nsACString& originSuffix);
|
||||||
|
explicit nsHostKey(const nsHostKey& other);
|
||||||
bool operator==(const nsHostKey& other) const;
|
bool operator==(const nsHostKey& other) const;
|
||||||
size_t SizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf) const;
|
size_t SizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf) const;
|
||||||
PLDHashNumber Hash() const;
|
PLDHashNumber Hash() const;
|
||||||
|
|
|
||||||
|
|
@ -1185,7 +1185,8 @@ nsresult nsHostResolver::NameLookup(nsHostRecord* rec,
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG(("NameLookup: %s effectiveTRRmode: %d flags: %X", rec->host.get(),
|
LOG(("NameLookup: %s effectiveTRRmode: %d flags: %X", rec->host.get(),
|
||||||
static_cast<nsIRequest::TRRMode>(rec->mEffectiveTRRMode), rec->flags));
|
static_cast<nsIRequest::TRRMode>(rec->mEffectiveTRRMode),
|
||||||
|
static_cast<uint32_t>(rec->flags)));
|
||||||
|
|
||||||
if (rec->flags & nsIDNSService::RESOLVE_DISABLE_TRR) {
|
if (rec->flags & nsIDNSService::RESOLVE_DISABLE_TRR) {
|
||||||
rec->RecordReason(TRRSkippedReason::TRR_DISABLED_FLAG);
|
rec->RecordReason(TRRSkippedReason::TRR_DISABLED_FLAG);
|
||||||
|
|
@ -2032,8 +2033,9 @@ void nsHostResolver::GetDNSCacheEntries(nsTArray<DNSCacheEntries>* args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
info.originAttributesSuffix = recordEntry.GetKey().originSuffix;
|
info.originAttributesSuffix = recordEntry.GetKey().originSuffix;
|
||||||
info.flags = nsPrintfCString("%u|0x%x|%u|%d|%s", rec->type, rec->flags,
|
info.flags = nsPrintfCString("%u|0x%x|%u|%d|%s", rec->type,
|
||||||
rec->af, rec->pb, rec->mTrrServer.get());
|
static_cast<uint32_t>(rec->flags), rec->af,
|
||||||
|
rec->pb, rec->mTrrServer.get());
|
||||||
|
|
||||||
args->AppendElement(std::move(info));
|
args->AppendElement(std::move(info));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue