diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2006-11-14 21:12:05 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2006-11-14 21:12:05 +0000 |
commit | 55e1f35cd030d0cfb5421fd7f5ba5652f14d869a (patch) | |
tree | d580af8325e808b773745e4060a94053d3e5808e /lib/bb/parse/__init__.py | |
parent | a142dcfbee4cba9fc51a6baadb0e62c06ab9cf2a (diff) | |
download | bitbake-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__.py | 11 |
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('./'): |