diff --git a/rpcserverthread.py b/rpcserverthread.py index ff3e325..5fd8b6e 100644 --- a/rpcserverthread.py +++ b/rpcserverthread.py @@ -5,13 +5,9 @@ from threading import Thread class RPCServerThread(Thread): - def __init__(self, host, port, *args, **kwargs): + def __init__(self, *args, **kwargs): super().__init__(daemon=True) # atexit seems to only work for deamon threads - - addr = (host, port) - kwargs.setdefault("allow_none", True) - self.server = xrs.SimpleXMLRPCServer(addr, *args, **kwargs) - + self.server = RPCServer(*args, **kwargs) self.thread_shutdown = None @@ -40,6 +36,15 @@ class RPCServerThread(Thread): +class RPCServer(xrs.SimpleXMLRPCServer): + + def __init__(self, host, port, *args, **kwargs): + addr = (host, port) + kwargs.setdefault("allow_none", True) + super().__init__(addr, *args, **kwargs) + + + if __name__ == "__main__":