[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7486/8267] bitbake: prserv/serv: Send sentinel to stop handler thread



commit 93a54f3432752646d53439210de6769368fb466e
Author: Richard Purdie <richard purdie linuxfoundation org>
Date:   Thu Aug 31 17:20:15 2017 +0100

    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 <richard purdie linuxfoundation org>

 bitbake/lib/prserv/serv.py |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py
index a2da072..6be78c8 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))


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]