diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bb/cooker.py | 5 | ||||
-rw-r--r-- | lib/bb/parse/__init__.py | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 77b7f3dde..b3d6cd9e3 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -189,7 +189,7 @@ class BBCooker: # If being called by something like tinfoil, we need to clean cached data # which may now be invalid - bb.parse.__mtime_cache = {} + bb.parse.clear_cache() bb.parse.BBHandler.cached_statements = {} self.ui_cmdline = None @@ -247,7 +247,9 @@ class BBCooker: def config_notifications(self, event): if event.maskname == "IN_Q_OVERFLOW": bb.warn("inotify event queue overflowed, invalidating caches.") + self.parsecache_valid = False self.baseconfig_valid = False + bb.parse.clear_cache() return if not event.pathname in self.configwatcher.bbwatchedfiles: return @@ -259,6 +261,7 @@ class BBCooker: if event.maskname == "IN_Q_OVERFLOW": bb.warn("inotify event queue overflowed, invalidating caches.") self.parsecache_valid = False + bb.parse.clear_cache() return if not event.pathname in self.inotify_modified_files: self.inotify_modified_files.append(event.pathname) diff --git a/lib/bb/parse/__init__.py b/lib/bb/parse/__init__.py index a2952ecc0..2fc4002db 100644 --- a/lib/bb/parse/__init__.py +++ b/lib/bb/parse/__init__.py @@ -84,6 +84,10 @@ def update_cache(f): logger.debug(1, "Updating mtime cache for %s" % f) update_mtime(f) +def clear_cache(): + global __mtime_cache + __mtime_cache = {} + def mark_dependency(d, f): if f.startswith('./'): f = "%s/%s" % (os.getcwd(), f[2:]) |