mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 00:39:46 +00:00
bitbake: server/process: Fix UI first connection tracking
We're only meant to be doing UI connection timeouts on the first connection but haveui changes for each connection. We need to add a specific variable to track this correctly and get the intended behaviour. (Bitbake rev: e7c387c2e2fb2cc3ca1dc9d2029362909c326d72) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -47,6 +47,7 @@ class ProcessServer(multiprocessing.Process):
|
|||||||
self.next_heartbeat = time.time()
|
self.next_heartbeat = time.time()
|
||||||
|
|
||||||
self.event_handle = None
|
self.event_handle = None
|
||||||
|
self.hadanyui = False
|
||||||
self.haveui = False
|
self.haveui = False
|
||||||
self.maxuiwait = 30
|
self.maxuiwait = 30
|
||||||
self.xmlrpc = False
|
self.xmlrpc = False
|
||||||
@@ -188,6 +189,7 @@ class ProcessServer(multiprocessing.Process):
|
|||||||
self.command_channel_reply = writer
|
self.command_channel_reply = writer
|
||||||
|
|
||||||
self.haveui = True
|
self.haveui = True
|
||||||
|
self.hadanyui = True
|
||||||
|
|
||||||
except (EOFError, OSError):
|
except (EOFError, OSError):
|
||||||
disconnect_client(self, fds)
|
disconnect_client(self, fds)
|
||||||
@@ -200,7 +202,7 @@ class ProcessServer(multiprocessing.Process):
|
|||||||
# If we don't see a UI connection within maxuiwait, its unlikely we're going to see
|
# If we don't see a UI connection within maxuiwait, its unlikely we're going to see
|
||||||
# one. We have had issue with processes hanging indefinitely so timing out UI-less
|
# one. We have had issue with processes hanging indefinitely so timing out UI-less
|
||||||
# servers is useful.
|
# servers is useful.
|
||||||
if not self.haveui and not self.timeout and (self.lastui + self.maxuiwait) < time.time():
|
if not self.hadanyui and not self.timeout and (self.lastui + self.maxuiwait) < time.time():
|
||||||
print("No UI connection within max timeout, exiting to avoid infinite loop.")
|
print("No UI connection within max timeout, exiting to avoid infinite loop.")
|
||||||
self.quit = True
|
self.quit = True
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user