diff --git a/eqpalg/utility/eqp_stat.cc b/eqpalg/utility/eqp_stat.cc index 61ed936..9b795c8 100644 --- a/eqpalg/utility/eqp_stat.cc +++ b/eqpalg/utility/eqp_stat.cc @@ -134,9 +134,7 @@ bool EqpStat::update_cold(const std::string &ruleid, const RuleStatShm::RuleStatLocal &rule_stat) { try { RuleStatShm::RuleStatCold cold; - cold.stat_values.assign(rule_stat.stat_values.begin(), - rule_stat.stat_values.end()); - cold.fetch_mark = rule_stat.fetch_mark; + // stat_values 和 fetch_mark 由 SHM 的 add_stat_value/get_stat_value 握手管理 cold.running_time = rule_stat.running_time; cold.shear_times = rule_stat.shear_times; return mapRuleStat.update_cold_fields(ruleid, cold); diff --git a/shm/RuleStatShm.h b/shm/RuleStatShm.h index 817c582..5d895fc 100644 --- a/shm/RuleStatShm.h +++ b/shm/RuleStatShm.h @@ -166,10 +166,10 @@ struct RuleStatCold { return true; } + /// 仅同步 running_time / shear_times,不覆盖 stat_values 和 fetch_mark + ///(后者由 add_stat_value / get_stat_value 握手管理) bool update_cold(const RuleStatCold &value) { try { - stat_values = value.stat_values; - fetch_mark = value.fetch_mark; running_time = value.running_time; shear_times = value.shear_times; } catch (...) {