From 72bfb1fdb84ff5e17bc2a81b1ec25215db700ceb Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Fri, 21 Aug 2009 16:22:29 -0400 Subject: PR10543: do module cache cleaning before copying new file into the cache ... otherwise the new stuff can get cleaned before use. * cache.cxx (add_to_cache): Do clean_cache() first, not last. --- cache.cxx | 6 ++++-- main.cxx | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cache.cxx b/cache.cxx index ee6d0bf6..b1c7908f 100644 --- a/cache.cxx +++ b/cache.cxx @@ -48,6 +48,10 @@ static void clean_cache(systemtap_session& s); void add_to_cache(systemtap_session& s) { + // PR10543: clean the cache *before* we try putting something new into it. + // We don't want to risk having the brand new contents being erased again. + clean_cache(s); + string stapconf_src_path = s.tmpdir + "/" + s.stapconf_name; if (s.verbose > 1) clog << "Copying " << stapconf_src_path << " to " << s.stapconf_path << endl; @@ -117,8 +121,6 @@ add_to_cache(systemtap_session& s) // // s.use_cache = false; } - - clean_cache(s); } diff --git a/main.cxx b/main.cxx index bc0d7389..15447efc 100644 --- a/main.cxx +++ b/main.cxx @@ -1229,7 +1229,7 @@ main (int argc, char * const argv []) << endl; else { - // Update cache. Cache cleaning is kicked off at the end of this function. + // Update cache. Cache cleaning is kicked off at the beginning of this function. if (s.use_cache) add_to_cache(s); -- cgit