From: Zac Medico Date: Sun, 31 Jan 2010 00:59:25 +0000 (-0000) Subject: In __iter__, handle OSError from lstat in case a cache entry disappears. X-Git-Tag: v2.2_rc63~95 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=bfd5fa283e2ba172368ea76c309d8bbc896152a9;p=portage.git In __iter__, handle OSError from lstat in case a cache entry disappears. svn path=/main/trunk/; revision=15297 --- diff --git a/pym/portage/cache/flat_hash.py b/pym/portage/cache/flat_hash.py index a010e5061..b014f170d 100644 --- a/pym/portage/cache/flat_hash.py +++ b/pym/portage/cache/flat_hash.py @@ -135,7 +135,11 @@ class database(fs_template.FsBased): if l.endswith(".cpickle"): continue p = os.path.join(dir_path, l) - st = os.lstat(p) + try: + st = os.lstat(p) + except OSError: + # Cache entry disappeared. + continue if stat.S_ISDIR(st.st_mode): # Only recurse 1 deep, in order to avoid iteration over # entries from another nested cache instance. This can