diff options
author | Oz Linden <oz@lindenlab.com> | 2011-01-24 14:22:08 -0500 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2011-01-24 14:22:08 -0500 |
commit | de83bd5c6b1e103993ba74321d600f1c413785ce (patch) | |
tree | 7a93bec47e33227541abda9ea80b7b094c8be549 /indra/newview/llvocache.h | |
parent | f57aa3e83f1b4286b1d6b5cc8bca20fb924cb002 (diff) | |
parent | 295536ae98cb88bfa551ac73ae2e19a8c2ddfc88 (diff) |
merge changes for beta fixes
Diffstat (limited to 'indra/newview/llvocache.h')
-rw-r--r-- | indra/newview/llvocache.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/indra/newview/llvocache.h b/indra/newview/llvocache.h index ed2bc8bafe..e103007979 100644 --- a/indra/newview/llvocache.h +++ b/indra/newview/llvocache.h @@ -95,10 +95,13 @@ private: { bool operator()(const HeaderEntryInfo* lhs, const HeaderEntryInfo* rhs) const { - return lhs->mTime < rhs->mTime; // older entry in front of queue (set) + if (lhs->mTime == rhs->mTime) + { + return lhs->mHandle < rhs->mHandle; + } + return lhs->mTime < rhs->mTime; // older entry in front } }; - typedef std::set<HeaderEntryInfo*, header_entry_less> header_entry_queue_t; typedef std::map<U64, HeaderEntryInfo*> handle_entry_map_t; private: LLVOCache() ; @@ -125,8 +128,8 @@ private: void removeCache() ; void purgeEntries(); BOOL updateEntry(const HeaderEntryInfo* entry); - BOOL checkRead(LLAPRFile* apr_file, void* src, S32 n_bytes) ; - BOOL checkWrite(LLAPRFile* apr_file, void* src, S32 n_bytes) ; + BOOL checkRead(LLAPRFile* apr_file, void* src, S32 n_bytes, bool remove_cache_on_error = true) ; + BOOL checkWrite(LLAPRFile* apr_file, void* src, S32 n_bytes, bool remove_cache_on_error = true) ; private: BOOL mEnabled; @@ -134,11 +137,9 @@ private: BOOL mReadOnly ; HeaderMetaInfo mMetaInfo; U32 mCacheSize; - U32 mNumEntries; std::string mHeaderFileName ; std::string mObjectCacheDirName; LLVolatileAPRPool* mLocalAPRFilePoolp ; - header_entry_queue_t mHeaderEntryQueue; handle_entry_map_t mHandleEntryMap; static LLVOCache* sInstance ; |