Removed return codes for nsCacheEntryHashtable::RemoveEntry() and nsCacheDevice::DoomEntry().
Added doomEntriesIfExpired flag to nsCacheSession and nsCacheRequest, and check the flag in nsCacheService::ActivateEntry()
Added lastModified attribute to nsCacheEntryDescriptor and mLastModified data member to nsCacheEntry. mLastModified is updated when data or meta data is changed.
Deque requests if descriptor allocation fails. Delete requests after calling proxy in async open cache entry path.
Cleaned up the logic of doom.
git-svn-id: svn://10.0.0.236/trunk@88929 18797224-902f-48f8-a5cc-f745e15eee43
Fix race condition in nsCacheRequest WaitForValidation().
Force !streamBased to set storagePolicy to nsICache:STORE_IN_MEMORY when creating nsCacheSessions.
Fix ProcessRequest() to refrain from creating a descriptor for ACCESS_READ requests when no entry is found (found by pavlov).
git-svn-id: svn://10.0.0.236/trunk@88626 18797224-902f-48f8-a5cc-f745e15eee43
Restructured open cache entry code in preparation for async implementation, to better share code with synchronous version.
Changed nsCacheRequest, nsCacheEntry, nsCacheEntryDescriptor to inherit from PRCList rather than include mListLink member, and removed extraneous GetListNode/GetInstance methods.
Consolidated mAccessRequested, mStreamBased, and mStoragePolicy into a single PRUint32 in nsCacheRequest. Added PRLock, PRCondVar, and a 'wait for validation' flag, used for synchronously opening cache entries. Added accessor functions for these "attributes".
Record current event queue for asychronous requests to be used with GetProxyForObject(). Removed mRequestThread.
git-svn-id: svn://10.0.0.236/trunk@88535 18797224-902f-48f8-a5cc-f745e15eee43