Trammell Hudson avatar Trammell Hudson committed 0e58d93

Subclass TCPServer to get threads

Comments (0)

Files changed (1)

 import time
 import re
 
-# Force SOREUSEADDR allways
-SocketServer.TCPServer.allow_reuse_address = True
-
 class MDCSocket(SocketServer.StreamRequestHandler):
 	def handle(self):
 		self.alive = True
 			self.wfile.write(','.join(counts) + '\n')
 			time.sleep(0.1)
 
+class ServerThread(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
+	# Force SOREUSEADDR allways
+	daemon_threads = True
+	allow_reuse_address = True
+
 if __name__ == "__main__":
 	devices = ["/dev/tty.usbmodemfd1231", "/dev/tty.usbmodemfd1241", "/dev/tty.usbmodemfd1271"]
 	controllers = [MDC.MDC(dev) for dev in devices]
 
 	host = 'localhost'
 	port = 31415
-	server = SocketServer.TCPServer((host,port), MDCSocket)
+	server = ServerThread((host,port), MDCSocket)
 	server.serve_forever()
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.