From f8f45ebde4ffa60ec1777976cb8b0020cdc11929 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 5 Nov 2024 15:02:26 +0000 Subject: [PATCH] bitbake: server/process: Merge a function to simplfy code Keeping this code separate just makes the code harder to understand, merge them. (Bitbake rev: e5ac26a0e1779df1da3277bf48899c8f7642f1f8) Signed-off-by: Richard Purdie --- bitbake/lib/bb/server/process.py | 42 ++++++++++++-------------------- 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py index 76b189291d..ad4035a738 100644 --- a/bitbake/lib/bb/server/process.py +++ b/bitbake/lib/bb/server/process.py @@ -321,7 +321,22 @@ class ProcessServer(): bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) seendata = True - ready = self.idle_commands(.1, fds) + if not self.idle: + self.idle = threading.Thread(target=self.idle_thread) + self.idle.start() + elif self.idle and not self.idle.is_alive(): + serverlog("Idle thread terminated, main thread exiting too") + bb.error("Idle thread terminated, main thread exiting too") + self.quit = True + + nextsleep = 0.1 + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) + try: + ready = select.select(fds,[],[],nextsleep)[0] + except InterruptedError: + # Ignore EINTR + ready = [] if self.idle: self.idle.join() @@ -485,31 +500,6 @@ class ProcessServer(): if nextsleep is not None: select.select(fds,[],[],nextsleep)[0] - def idle_commands(self, delay, fds=None): - nextsleep = delay - if not fds: - fds = [] - - if not self.idle: - self.idle = threading.Thread(target=self.idle_thread) - self.idle.start() - elif self.idle and not self.idle.is_alive(): - serverlog("Idle thread terminated, main thread exiting too") - bb.error("Idle thread terminated, main thread exiting too") - self.quit = True - - if nextsleep is not None: - if self.xmlrpc: - nextsleep = self.xmlrpc.get_timeout(nextsleep) - try: - return select.select(fds,[],[],nextsleep)[0] - except InterruptedError: - # Ignore EINTR - return [] - else: - return select.select(fds,[],[],0)[0] - - class ServerCommunicator(): def __init__(self, connection, recv): self.connection = connection