mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 10:44:56 +00:00
Bug 1054813: Add some missing MutexAutoLocks in nsZipReaderCache; r=mwu
--HG-- extra : rebase_source : 4f9caa7bd4ef1955c204e82bc33835a01d9f1e85
This commit is contained in:
parent
4981d589cb
commit
69159f4cc5
@ -1147,6 +1147,8 @@ nsZipReaderCache::GetInnerZip(nsIFile* zipFile, const nsACString &entry,
|
||||
nsresult rv = GetZip(zipFile, getter_AddRefs(outerZipReader));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
MutexAutoLock lock(mLock);
|
||||
|
||||
#ifdef ZIP_CACHE_HIT_RATE
|
||||
mZipCacheLookups++;
|
||||
#endif
|
||||
@ -1189,7 +1191,6 @@ nsZipReaderCache::SetMustCacheFd(nsIFile* zipFile, bool aMustCacheFd)
|
||||
MOZ_CRASH("Not implemented");
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
#else
|
||||
mMustCacheFd = aMustCacheFd;
|
||||
|
||||
if (!aMustCacheFd) {
|
||||
return NS_OK;
|
||||
@ -1208,6 +1209,9 @@ nsZipReaderCache::SetMustCacheFd(nsIFile* zipFile, bool aMustCacheFd)
|
||||
uri.Insert(NS_LITERAL_CSTRING("file:"), 0);
|
||||
|
||||
MutexAutoLock lock(mLock);
|
||||
|
||||
mMustCacheFd = aMustCacheFd;
|
||||
|
||||
nsRefPtr<nsJAR> zip;
|
||||
mZips.Get(uri, getter_AddRefs(zip));
|
||||
if (!zip) {
|
||||
@ -1388,6 +1392,7 @@ nsZipReaderCache::Observe(nsISupports *aSubject,
|
||||
mZips.Enumerate(FindFlushableZip, nullptr);
|
||||
}
|
||||
else if (strcmp(aTopic, "chrome-flush-caches") == 0) {
|
||||
MutexAutoLock lock(mLock);
|
||||
mZips.EnumerateRead(DropZipReaderCache, nullptr);
|
||||
mZips.Clear();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user