summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r--bitbake/lib/bb/ui/uievent.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/bitbake/lib/bb/ui/uievent.py b/bitbake/lib/bb/ui/uievent.py
index eb760c00c3..c6b100c840 100644
--- a/bitbake/lib/bb/ui/uievent.py
+++ b/bitbake/lib/bb/ui/uievent.py
@@ -44,10 +44,26 @@ class BBUIEventQueue:
44 server.register_function( self.send_event, "event.sendpickle" ) 44 server.register_function( self.send_event, "event.sendpickle" )
45 server.socket.settimeout(1) 45 server.socket.settimeout(1)
46 46
47 self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port) 47 self.EventHandler = None
48 count_tries = 0
48 49
49 if (self.EventHandle == None): 50 # the event handler registration may fail here due to cooker being in invalid state
50 bb.warn("Could not register UI event handler %s:%d" % (self.host, self.port)) 51 # this is a transient situation, and we should retry a couple of times before
52 # giving up
53
54 while self.EventHandler == None and count_tries < 5:
55 self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port)
56
57 if (self.EventHandle != None):
58 break
59
60 bb.warn("Could not register UI event handler %s:%d, retry" % (self.host, self.port))
61 count_tries += 1
62 import time
63 time.sleep(1)
64
65
66 if self.EventHandle == None:
51 raise Exception("Could not register UI event handler") 67 raise Exception("Could not register UI event handler")
52 68
53 self.server = server 69 self.server = server