diff --git a/owrx/cpu.py b/owrx/cpu.py index 6b2b82c..bff3f42 100644 --- a/owrx/cpu.py +++ b/owrx/cpu.py @@ -23,6 +23,7 @@ class CpuUsageThread(threading.Thread): self.last_idletime = 0 self.endEvent = threading.Event() super().__init__() + self.start() def run(self): logger.debug("cpu usage thread starting up") @@ -59,8 +60,6 @@ class CpuUsageThread(threading.Thread): def add_client(self, c): self.clients.append(c) - if not self.is_alive(): - self.start() def remove_client(self, c): try: @@ -71,6 +70,7 @@ class CpuUsageThread(threading.Thread): self.shutdown() def shutdown(self): - CpuUsageThread.sharedInstance = None + with CpuUsageThread.creationLock: + CpuUsageThread.sharedInstance = None self.doRun = False self.endEvent.set()