diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-01-04 17:56:58 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-01-06 17:39:57 +0000 |
commit | af4ccab8acc49e91bf7647f209d69f4858618466 (patch) | |
tree | bb975aac3e33c3cd6ecd641fe18ed33619172d1d | |
parent | 9ece4a2e406509bd89dbce8dac80a02e600b0ecf (diff) | |
download | bitbake-af4ccab8acc49e91bf7647f209d69f4858618466.tar.gz |
cooker: Clean up inotify idle handler
We no longer need to abstract the inotify callback handler, remove the
abstraction and simplify/clean up the code.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | lib/bb/cooker.py | 6 | ||||
-rw-r--r-- | lib/bb/server/process.py | 5 |
2 files changed, 3 insertions, 8 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 1d347ddc5..d2c42c858 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -190,12 +190,6 @@ class BBCooker: self.inotify_modified_files = [] - def _process_inotify_updates(server, cooker, halt): - cooker.process_inotify_updates() - return 1.0 - - self.idleCallBackRegister(_process_inotify_updates, self) - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index b5f6faf6f..81e5229c9 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -157,8 +157,7 @@ class ProcessServer(): def wait_for_idle(self, timeout=30): # Wait for the idle loop to have cleared with self.idle_cond: - # FIXME - the 1 is the inotify processing in cooker which always runs - self.idle_cond.wait_for(lambda: len(self._idlefuns) <= 1, timeout) + self.idle_cond.wait_for(lambda: len(self._idlefuns) == 0, timeout) def main(self): self.cooker.pre_serve() @@ -387,6 +386,8 @@ class ProcessServer(): nextsleep = 0.1 fds = [] + self.cooker.process_inotify_updates() + with bb.utils.lock_timeout(self._idlefuncsLock): items = list(self._idlefuns.items()) |