From 80593462b46c098a938e2b47f52c1ab515d15f87 Mon Sep 17 00:00:00 2001 From: vansangpfiev Date: Tue, 11 Feb 2025 18:56:08 +0700 Subject: [PATCH] fix: make get hardware info function thread-safe --- engine/services/hardware_service.cc | 1 + engine/services/hardware_service.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/engine/services/hardware_service.cc b/engine/services/hardware_service.cc index 2ace50172..5403d707a 100644 --- a/engine/services/hardware_service.cc +++ b/engine/services/hardware_service.cc @@ -35,6 +35,7 @@ bool TryConnectToServer(const std::string& host, int port) { HardwareInfo HardwareService::GetHardwareInfo() { // append active state + std::lock_guard l(mtx_); auto gpus = cortex::hw::GetGPUInfo(); auto res = db_service_->LoadHardwareList(); if (res.has_value()) { diff --git a/engine/services/hardware_service.h b/engine/services/hardware_service.h index c002be652..a8a619d4f 100644 --- a/engine/services/hardware_service.h +++ b/engine/services/hardware_service.h @@ -2,6 +2,7 @@ #include #include #include +#include #include "common/hardware_config.h" #include "database_service.h" @@ -39,4 +40,5 @@ class HardwareService { private: std::shared_ptr db_service_ = nullptr; std::optional ahc_; + std::mutex mtx_; }; \ No newline at end of file