Bug 567680 - nsMemoryCacheDevide::BindEntry increments the entry count for doomed entries; r=bzbarsky

This commit is contained in:
Ehsan Akhgari 2010-05-23 22:15:18 -04:00
Родитель f5b31dcd2d
Коммит 41661ff807
1 изменённых файлов: 11 добавлений и 11 удалений

18
netwerk/cache/src/nsMemoryCacheDevice.cpp поставляемый
Просмотреть файл

@ -190,10 +190,10 @@ nsMemoryCacheDevice::DeactivateEntry(nsCacheEntry * entry)
nsresult
nsMemoryCacheDevice::BindEntry(nsCacheEntry * entry)
{
if (!entry->IsDoomed()) {
NS_ASSERTION(PR_CLIST_IS_EMPTY(entry),"entry is already on a list!");
if (!entry->IsDoomed()) {
NS_ASSERTION(PR_CLIST_IS_EMPTY(entry),"entry is already on a list!");
// append entry to the eviction list
// append entry to the eviction list
PR_APPEND_LINK(entry, &mEvictionList[EvictionList(entry, 0)]);
// add entry to hashtable of mem cache entries
@ -202,14 +202,14 @@ nsMemoryCacheDevice::BindEntry(nsCacheEntry * entry)
PR_REMOVE_AND_INIT_LINK(entry);
return rv;
}
}
// add size of entry to memory totals
++mEntryCount;
if (mMaxEntryCount < mEntryCount) mMaxEntryCount = mEntryCount;
// add size of entry to memory totals
++mEntryCount;
if (mMaxEntryCount < mEntryCount) mMaxEntryCount = mEntryCount;
mTotalSize += entry->Size();
EvictEntriesIfNecessary();
mTotalSize += entry->Size();
EvictEntriesIfNecessary();
}
return NS_OK;
}