Patchwork [bitbake-devel] cache: Optimise invalid cache file handling

login
register
mail settings
Submitter Richard Purdie
Date July 25, 2014, 1:52 p.m.
Message ID <1406296339.27697.25.camel@ted>
Download mbox | patch
Permalink /patch/76683/
State New
Headers show

Comments

Richard Purdie - July 25, 2014, 1:52 p.m.
If there is a corrupt/invalid cache file, we'd keep trying to reopen
it. This is pointless, simplify the code paths and delete the dead 
file.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Patch

diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index 6dedd4d..c7f3b7a 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -823,9 +823,11 @@  class MultiProcessCache(object):
                     p = pickle.Unpickler(fd)
                     extradata, version = p.load()
             except (IOError, EOFError):
-                extradata, version = self.create_cachedata(), None
+                os.unlink(f)
+                continue
 
             if version != self.__class__.CACHE_VERSION:
+                os.unlink(f)
                 continue
 
             self.merge_data(extradata, data)