cacheddir() would incorrectly return from the cache when the cached entry is less...
authorJason Stubbs <jstubbs@gentoo.org>
Sun, 9 Oct 2005 13:56:34 +0000 (13:56 -0000)
committerJason Stubbs <jstubbs@gentoo.org>
Sun, 9 Oct 2005 13:56:34 +0000 (13:56 -0000)
svn path=/main/branches/2.0/; revision=2118

pym/portage.py

index 5a4b64f51070ac0fad9854943a3db48dc19b8d9f..74a37d161a6f7def55db3f3ab85029c9a94c4462 100644 (file)
@@ -231,7 +231,8 @@ def cacheddir(my_original_path, ignorecvs, ignorelist, EmptyOnError, followSymli
                if EmptyOnError:
                        return [], []
                return None, None
-       if mtime != cached_mtime:
+       # Python retuns mtime in seconds, so if it was changed in the last few seconds, it could be invalid
+       if mtime != cached_mtime or time.time() - mtime < 4:
                if dircache.has_key(mypath):
                        cacheStale += 1
                list = os.listdir(mypath)