From 93a54f3432752646d53439210de6769368fb466e Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 31 Aug 2017 17:20:15 +0100 Subject: bitbake: prserv/serv: Send sentinel to stop handler thread Shutdown from SIGTERM currently has to wait for the handler thread to timeout. Add a sentinel value which triggers it to loop and allows for a quick exit. (Bitbake rev: a7591ef34ce70ff1d7aa9362d7473e6f16fbd10f) Signed-off-by: Richard Purdie --- bitbake/lib/prserv/serv.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'bitbake') diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py index a2da07227f..6be78c82fb 100644 --- a/bitbake/lib/prserv/serv.py +++ b/bitbake/lib/prserv/serv.py @@ -84,6 +84,8 @@ class PRServer(SimpleXMLRPCServer): except queue.Empty: self.table.sync_if_dirty() continue + if request is None: + continue try: self.finish_request(request, client_address) self.shutdown_request(request) @@ -103,7 +105,8 @@ class PRServer(SimpleXMLRPCServer): def sigterm_handler(self, signum, stack): if self.table: self.table.sync() - self.quit=True + self.quit() + self.requestqueue.put((None, None)) def process_request(self, request, client_address): self.requestqueue.put((request, client_address)) -- cgit v1.2.3-54-g00ecf