discard_cache(): discard index, even if no file was mmap()ed
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Thu, 10 Aug 2006 14:47:21 +0000 (16:47 +0200)
committerJunio C Hamano <junkio@cox.net>
Thu, 10 Aug 2006 21:30:01 +0000 (14:30 -0700)
Since add_cacheinfo() can be called without a mapped index file,
discard_cache() _has_ to discard the entries, even when
cache_mmap == NULL.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
read-cache.c

index c375e912a957114fa3473383c6318de185c8aa79..fc2af2cb0473d7c18e554224df1ae233dba63392 100644 (file)
@@ -840,14 +840,14 @@ int discard_cache()
 {
        int ret;
 
+       active_nr = active_cache_changed = 0;
+       index_file_timestamp = 0;
+       cache_tree_free(&active_cache_tree);
        if (cache_mmap == NULL)
                return 0;
        ret = munmap(cache_mmap, cache_mmap_size);
        cache_mmap = NULL;
        cache_mmap_size = 0;
-       active_nr = active_cache_changed = 0;
-       index_file_timestamp = 0;
-       cache_tree_free(&active_cache_tree);
 
        /* no need to throw away allocated active_cache */
        return ret;