From c9d51690dfb166d7c3216f45335872ebb045616e Mon Sep 17 00:00:00 2001
From: angelblue05 <angelblue.dev@gmail.com>
Date: Thu, 31 Jan 2019 07:25:21 -0600
Subject: [PATCH] Fix Kodi hangup on exit

---
 resources/lib/webservice.py | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/resources/lib/webservice.py b/resources/lib/webservice.py
index 512b844c..9e5f9d33 100644
--- a/resources/lib/webservice.py
+++ b/resources/lib/webservice.py
@@ -21,8 +21,6 @@ class WebService(threading.Thread):
 
     ''' Run a webservice to trigger playback.
     '''
-    stop_thread = False
-
     def __init__(self):
         threading.Thread.__init__(self)
 
@@ -34,7 +32,6 @@ class WebService(threading.Thread):
             conn = httplib.HTTPConnection("127.0.0.1:%d" % PORT)
             conn.request("QUIT", "/")
             conn.getresponse()
-            self.stop_thread = True
         except Exception as error:
             pass
 
@@ -71,7 +68,9 @@ class HttpServer(BaseHTTPServer.HTTPServer):
 
 class requestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
 
-    #Handler for the GET requests
+    ''' Http request handler. Do not use LOG here,
+        it will hang requests in Kodi > show information dialog.
+    '''
 
     def log_message(self, format, *args):
 
@@ -79,6 +78,14 @@ class requestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
         '''
         pass
 
+    def do_QUIT(self):
+
+        ''' send 200 OK response, and set server.stop to True
+        '''
+        self.send_response(200)
+        self.end_headers()
+        self.server.stop = True
+
     def get_params(self):
 
         ''' Get the params