mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
bitbake: cooker: Improve inotify overflow handling
Add a proper function for clearing the mtime cache. Clean up the inotify event overflow case to err on the side of caution and clear any potentially now out of sync caches. (Bitbake rev: ec60459fe2ba16966544eebff43b061abb7ed3ba) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
019f518287
commit
a0f729d31d
|
@ -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)
|
||||
|
|
|
@ -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:])
|
||||
|
|
Loading…
Reference in New Issue
Block a user