[bitbake-devel] [PATCH 08/10] prserv/serv: Send sentinel to stop handler thread
Richard Purdie
richard.purdie at linuxfoundation.org
Thu Aug 31 16:38:38 UTC 2017
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.
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
lib/prserv/serv.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py
index a2da072..6be78c8 100644
--- a/lib/prserv/serv.py
+++ b/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))
--
2.7.4
More information about the bitbake-devel
mailing list