From 019f518287bb00f7e7121289b4859661af201d89 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 9 Aug 2017 12:54:34 +0100 Subject: bitbake: cooker: Ensure we handle inotify before running the next command The inotify watch events are handled "at idle" which could in theory mean a command could run before any preceeding inotify events have been processed. This leads to a theoretical race window where those events may have a signficicant effect on the command. Add a mechanism to allow us to ensure all pending events are processed before running commands. (Bitbake rev: bf76cd7e5881adf264b8ba64e27a5b6ca9df4fde) Signed-off-by: Richard Purdie --- bitbake/lib/bb/command.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bitbake/lib/bb/command.py') diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py index c44c7a6a5e..a9232455cc 100644 --- a/bitbake/lib/bb/command.py +++ b/bitbake/lib/bb/command.py @@ -78,6 +78,7 @@ class Command: if not hasattr(command_method, 'readonly') or False == getattr(command_method, 'readonly'): return None, "Not able to execute not readonly commands in readonly mode" try: + self.cooker.process_inotify_updates() if getattr(command_method, 'needconfig', False): self.cooker.updateCacheSync() result = command_method(self, commandline) @@ -98,6 +99,7 @@ class Command: def runAsyncCommand(self): try: + self.cooker.process_inotify_updates() if self.cooker.state in (bb.cooker.state.error, bb.cooker.state.shutdown, bb.cooker.state.forceshutdown): # updateCache will trigger a shutdown of the parser # and then raise BBHandledException triggering an exit -- cgit v1.2.3-54-g00ecf