"""Threaded server that spawns a new thread per each connection."""
- def __init__(self, *args):
+ def __init__(self, *args, **kwargs):
TServer.__init__(self, *args)
+ self.daemon = kwargs.get("daemon", False)
def serve(self):
self.serverTransport.listen()
try:
client = self.serverTransport.accept()
t = threading.Thread(target = self.handle, args=(client,))
+ t.setDaemon(self.daemon)
t.start()
except KeyboardInterrupt:
raise
"""Server with a fixed size pool of threads which service requests."""
- def __init__(self, *args):
+ def __init__(self, *args, **kwargs):
TServer.__init__(self, *args)
self.clients = Queue.Queue()
self.threads = 10
+ self.daemon = kwargs.get("daemon", False)
def setNumThreads(self, num):
"""Set the number of worker threads that should be created"""
for i in range(self.threads):
try:
t = threading.Thread(target = self.serveThread)
+ t.setDaemon(self.daemon)
t.start()
except Exception, x:
logging.exception(x)