From 7d9dd125f1207d4b1751763d9fd33d8ed1d74498 Mon Sep 17 00:00:00 2001 From: Alexandru DAMIAN Date: Fri, 6 Mar 2015 15:42:03 +0000 Subject: bitbake: xmlrpc server: delete function on errors This patch makes sure to delete an idle function that raises an exception for the xmlrpc server. The counterpart functionality in the process server was added with: commit db50630948394bdcd361f3511af40c1896b1a017. duthor: Richard Purdie Date: Wed Aug 20 22:31:06 2014 +0000 bitbake: process: Deal with infinite looping of the server This patch fixes [YOCTO #7316] (Bitbake rev: e7c9a6788d969c901fd6394416ac3936e62c4c72) Signed-off-by: Alexandru DAMIAN Signed-off-by: Richard Purdie --- bitbake/lib/bb/server/xmlrpc.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bitbake/lib/bb/server') diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py index afe3dfe5df..17f3d9d906 100644 --- a/bitbake/lib/bb/server/xmlrpc.py +++ b/bitbake/lib/bb/server/xmlrpc.py @@ -235,6 +235,7 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): fds = [self] nextsleep = 0.1 for function, data in self._idlefuns.items(): + retval = None try: retval = function(self, data, False) if retval is False: @@ -248,6 +249,9 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): except: import traceback traceback.print_exc() + if retval == None: + # the function execute failed; delete it + del self._idlefuns[function] pass socktimeout = self.socket.gettimeout() or nextsleep -- cgit v1.2.3-54-g00ecf