From 4e0de6eca23488dc6f334ef28453b46c046888af Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Thu, 31 Dec 2015 18:42:14 +0200 Subject: bitbake: uievent: add error to registerEventHandler return Current code throws Exception("Could not register UI event handler") if event handler can't be registered. The real reason of this is that cooker is in busy state. Error message lacks information about this. Added error message to the return value of registerEventHandler. Included returned error message into the log message and exception text. (Bitbake rev: 07de1ca7d57dcd0cc37406feae2949da12a3fa7a) Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- bitbake/lib/bb/server/xmlrpc.py | 4 ++-- bitbake/lib/bb/ui/uievent.py | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py index b7647c198f..17eb28b7d4 100644 --- a/bitbake/lib/bb/server/xmlrpc.py +++ b/bitbake/lib/bb/server/xmlrpc.py @@ -97,10 +97,10 @@ class BitBakeServerCommands(): # we don't allow connections if the cooker is running if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle + return self.event_handle, 'OK' def unregisterEventHandler(self, handlerNum): """ diff --git a/bitbake/lib/bb/ui/uievent.py b/bitbake/lib/bb/ui/uievent.py index 7fc50c759a..80686a65be 100644 --- a/bitbake/lib/bb/ui/uievent.py +++ b/bitbake/lib/bb/ui/uievent.py @@ -52,19 +52,21 @@ class BBUIEventQueue: # giving up while self.EventHandler == None and count_tries < 5: - self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port) + self.EventHandle, error = self.BBServer.registerEventHandler(self.host, self.port) if (self.EventHandle != None): break - bb.warn("Could not register UI event handler %s:%d, retry" % (self.host, self.port)) + errmsg = "Could not register UI event handler. Error: %s, " \ + "host %s, port %d" % (error, self.host, self.port) + bb.warn("%s, retry" % errmsg) count_tries += 1 import time time.sleep(1) if self.EventHandle == None: - raise Exception("Could not register UI event handler") + raise Exception(errmsg) self.server = server -- cgit v1.2.3-54-g00ecf