diff options
| -rw-r--r-- | bitbake/lib/bb/cooker.py | 5 | ||||
| -rw-r--r-- | bitbake/lib/bb/parse/__init__.py | 4 |
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 | ||
| 87 | def clear_cache(): | ||
| 88 | global __mtime_cache | ||
| 89 | __mtime_cache = {} | ||
| 90 | |||
| 87 | def mark_dependency(d, f): | 91 | def 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:]) |
