summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/cmListFileCache.cxx10
-rw-r--r--Source/cmListFileCache.h4
2 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmListFileCache.cxx b/Source/cmListFileCache.cxx
index 83dd3cf..0b6e0b8 100644
--- a/Source/cmListFileCache.cxx
+++ b/Source/cmListFileCache.cxx
@@ -109,3 +109,13 @@ bool cmListFileCache::CacheFile(const char* path)
m_ListFileCache[path] = inFile;
return true;
}
+
+void cmListFileCache::FlushCache(const char* path)
+{
+ ListFileMap::iterator it = m_ListFileCache.find(path);
+ if ( it != m_ListFileCache.end() )
+ {
+ m_ListFileCache.erase(it);
+ return;
+ }
+}
diff --git a/Source/cmListFileCache.h b/Source/cmListFileCache.h
index f2362db..cd15a31 100644
--- a/Source/cmListFileCache.h
+++ b/Source/cmListFileCache.h
@@ -55,6 +55,10 @@ public:
* NULL is returned.
*/
cmListFile* GetFileCache(const char* path);
+
+ //! Flush cache file out of cache.
+ void FlushCache(const char* path);
+
private:
// Cache the file
bool CacheFile(const char* path);