From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dan.rpsys.net (5751f4a1.skybroadband.com [87.81.244.161]) by mail.openembedded.org (Postfix) with ESMTP id E641E706D5 for ; Fri, 25 Jul 2014 13:52:31 +0000 (UTC) Received: from localhost (dan.rpsys.net [127.0.0.1]) by dan.rpsys.net (8.14.4/8.14.4/Debian-2.1ubuntu4) with ESMTP id s6PDqR09023743 for ; Fri, 25 Jul 2014 14:52:27 +0100 X-Virus-Scanned: Debian amavisd-new at dan.rpsys.net Received: from dan.rpsys.net ([127.0.0.1]) by localhost (dan.rpsys.net [127.0.0.1]) (amavisd-new, port 10024) with LMTP id BzdbOBF92APL for ; Fri, 25 Jul 2014 14:52:27 +0100 (BST) Received: from [192.168.3.10] (rpvlan0 [192.168.3.10]) (authenticated bits=0) by dan.rpsys.net (8.14.4/8.14.4/Debian-2.1ubuntu1) with ESMTP id s6PDqO3l023723 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Fri, 25 Jul 2014 14:52:25 +0100 Message-ID: <1406296339.27697.25.camel@ted> From: Richard Purdie To: bitbake-devel Date: Fri, 25 Jul 2014 14:52:19 +0100 X-Mailer: Evolution 3.8.4-0ubuntu1 Mime-Version: 1.0 Subject: [PATCH] cache: Optimise invalid cache file handling X-BeenThere: bitbake-devel@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussion that advance bitbake development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Jul 2014 13:52:33 -0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit 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 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)