summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/cooker.py5
-rw-r--r--bitbake/lib/bb/parse/__init__.py4
2 files changed, 8 insertions, 1 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 77b7f3dde1..b3d6cd9e34 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -189,7 +189,7 @@ class BBCooker:
189 189
190 # If being called by something like tinfoil, we need to clean cached data 190 # If being called by something like tinfoil, we need to clean cached data
191 # which may now be invalid 191 # which may now be invalid
192 bb.parse.__mtime_cache = {} 192 bb.parse.clear_cache()
193 bb.parse.BBHandler.cached_statements = {} 193 bb.parse.BBHandler.cached_statements = {}
194 194
195 self.ui_cmdline = None 195 self.ui_cmdline = None
@@ -247,7 +247,9 @@ class BBCooker:
247 def config_notifications(self, event): 247 def config_notifications(self, event):
248 if event.maskname == "IN_Q_OVERFLOW": 248 if event.maskname == "IN_Q_OVERFLOW":
249 bb.warn("inotify event queue overflowed, invalidating caches.") 249 bb.warn("inotify event queue overflowed, invalidating caches.")
250 self.parsecache_valid = False
250 self.baseconfig_valid = False 251 self.baseconfig_valid = False
252 bb.parse.clear_cache()
251 return 253 return
252 if not event.pathname in self.configwatcher.bbwatchedfiles: 254 if not event.pathname in self.configwatcher.bbwatchedfiles:
253 return 255 return
@@ -259,6 +261,7 @@ class BBCooker:
259 if event.maskname == "IN_Q_OVERFLOW": 261 if event.maskname == "IN_Q_OVERFLOW":
260 bb.warn("inotify event queue overflowed, invalidating caches.") 262 bb.warn("inotify event queue overflowed, invalidating caches.")
261 self.parsecache_valid = False 263 self.parsecache_valid = False
264 bb.parse.clear_cache()
262 return 265 return
263 if not event.pathname in self.inotify_modified_files: 266 if not event.pathname in self.inotify_modified_files:
264 self.inotify_modified_files.append(event.pathname) 267 self.inotify_modified_files.append(event.pathname)
diff --git a/bitbake/lib/bb/parse/__init__.py b/bitbake/lib/bb/parse/__init__.py
index a2952ecc0f..2fc4002db5 100644
--- a/bitbake/lib/bb/parse/__init__.py
+++ b/bitbake/lib/bb/parse/__init__.py
@@ -84,6 +84,10 @@ def update_cache(f):
84 logger.debug(1, "Updating mtime cache for %s" % f) 84 logger.debug(1, "Updating mtime cache for %s" % f)
85 update_mtime(f) 85 update_mtime(f)
86 86
87def clear_cache():
88 global __mtime_cache
89 __mtime_cache = {}
90
87def mark_dependency(d, f): 91def mark_dependency(d, f):
88 if f.startswith('./'): 92 if f.startswith('./'):
89 f = "%s/%s" % (os.getcwd(), f[2:]) 93 f = "%s/%s" % (os.getcwd(), f[2:])