summaryrefslogtreecommitdiffstats
path: root/lib/bb/parse/__init__.py
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2006-11-14 21:12:05 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2006-11-14 21:12:05 +0000
commit55e1f35cd030d0cfb5421fd7f5ba5652f14d869a (patch)
treed580af8325e808b773745e4060a94053d3e5808e /lib/bb/parse/__init__.py
parenta142dcfbee4cba9fc51a6baadb0e62c06ab9cf2a (diff)
downloadbitbake-contrib-55e1f35cd030d0cfb5421fd7f5ba5652f14d869a.tar.gz
cache.py: Share the parser's mtime_cache, reducing the number of stat syscalls
Diffstat (limited to 'lib/bb/parse/__init__.py')
-rw-r--r--lib/bb/parse/__init__.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/bb/parse/__init__.py b/lib/bb/parse/__init__.py
index 58e17d154..70fdba03b 100644
--- a/lib/bb/parse/__init__.py
+++ b/lib/bb/parse/__init__.py
@@ -37,11 +37,16 @@ class SkipPackage(Exception):
__mtime_cache = {}
def cached_mtime(f):
if not __mtime_cache.has_key(f):
- update_mtime(f)
+ __mtime_cache[f] = os.stat(f)[8]
return __mtime_cache[f]
-def update_mtime(f):
- __mtime_cache[f] = os.stat(f)[8]
+def cached_mtime_noerror(f):
+ if not __mtime_cache.has_key(f):
+ try:
+ __mtime_cache[f] = os.stat(f)[8]
+ except OSError:
+ return 0
+ return __mtime_cache[f]
def mark_dependency(d, f):
if f.startswith('./'):