summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2018-11-15 16:14:52 -0500
committerGitHub <noreply@github.com>2018-11-15 16:14:52 -0500
commitd5091ee97468b248038ad2acb4501aee8b1e499b (patch)
tree2cd51332516dae8c78dd759a155bb66f7ca66670
parent1c34a1517ef820380046416560b366c95686bd2c (diff)
parent6e30a04bbe384269fa6a2d51a0a491a0a10b6e69 (diff)
downloadninja-d5091ee97468b248038ad2acb4501aee8b1e499b.tar.gz
Merge pull request #1439 from Lekensteyn/threaded-browse-py
browse.py: fix delay with multiple connections
-rwxr-xr-xsrc/browse.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/browse.py b/src/browse.py
index 64a16f2..1c9c39b 100755
--- a/src/browse.py
+++ b/src/browse.py
@@ -24,8 +24,10 @@ from __future__ import print_function
try:
import http.server as httpserver
+ import socketserver
except ImportError:
import BaseHTTPServer as httpserver
+ import SocketServer as socketserver
import argparse
import cgi
import os
@@ -205,10 +207,14 @@ parser.add_argument('-f', default='build.ninja',
parser.add_argument('initial_target', default='all', nargs='?',
help='Initial target to show (default %(default)s)')
+class HTTPServer(socketserver.ThreadingMixIn, httpserver.HTTPServer):
+ # terminate server immediately when Python exits.
+ daemon_threads = True
+
args = parser.parse_args()
port = args.port
hostname = args.hostname
-httpd = httpserver.HTTPServer((hostname,port), RequestHandler)
+httpd = HTTPServer((hostname,port), RequestHandler)
try:
if hostname == "":
hostname = socket.gethostname()