MCPcopy Index your code
hub / github.com/python/cpython / ServerThread

Class ServerThread

Lib/pydoc.py:2389–2427  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2387 self.callback(self)
2388
2389 class ServerThread(threading.Thread):
2390
2391 def __init__(self, urlhandler, host, port):
2392 self.urlhandler = urlhandler
2393 self.host = host
2394 self.port = int(port)
2395 threading.Thread.__init__(self)
2396 self.serving = False
2397 self.error = None
2398 self.docserver = None
2399
2400 def run(self):
2401 """Start the server."""
2402 try:
2403 DocServer.base = http.server.HTTPServer
2404 DocServer.handler = DocHandler
2405 DocHandler.MessageClass = email.message.Message
2406 DocHandler.urlhandler = staticmethod(self.urlhandler)
2407 docsvr = DocServer(self.host, self.port, self.ready)
2408 self.docserver = docsvr
2409 docsvr.serve_until_quit()
2410 except Exception as err:
2411 self.error = err
2412
2413 def ready(self, server):
2414 self.serving = True
2415 self.host = server.host
2416 self.port = server.server_port
2417 self.url = 'http://%s:%d/' % (self.host, self.port)
2418
2419 def stop(self):
2420 """Stop the server and this thread nicely"""
2421 self.docserver.quit = True
2422 self.join()
2423 # explicitly break a reference cycle: DocServer.callback
2424 # has indirectly a reference to ServerThread.
2425 self.docserver = None
2426 self.serving = False
2427 self.url = None
2428
2429 thread = ServerThread(urlhandler, hostname, port)
2430 thread.start()

Callers 1

_start_serverFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…