def clean_shutdown(sig, frame): logger.info("Server shutting down") for t in thread_pool: t.stop() jserver.close() for t in thread_pool: t.join() logging.shutdown() sys.exit(0) signal.signal(signal.SIGINT, clean_shutdown) while True: jsock = jserver.accept() # Add log message with ip from connected client cmd_thread = CommandParser(jsock, cmd_queue, control_thread) cmd_thread.start() #response_thread = MessageDispatcher(jsock, response_queue) #response_thread.start() thread_pool.append(cmd_thread) #thread_pool.append(response_thread) thread_pool = [t for t in thread_pool if t.is_alive()]