数据保存加锁

This commit is contained in:
hahwu 2026-02-24 12:19:22 +08:00
parent 57f2e21061
commit 15679495be

View File

@ -139,7 +139,25 @@ func (s *ServerMod) SaveData() {
DbData.Key = s.key DbData.Key = s.key
DbData.UpdataTime = GoUtil.Now() DbData.UpdataTime = GoUtil.Now()
var err error var err error
DbData.ModData, err = GoUtil.GobMarshal(s.data) switch s.data.(type) {
case *ChampshipData:
data := s.data.(*ChampshipData)
data.mu.Lock()
DbData.ModData, err = GoUtil.GobMarshal(s.data)
data.mu.Unlock()
case *MessageData:
data := s.data.(*MessageData)
data.mu.Lock()
DbData.ModData, err = GoUtil.GobMarshal(s.data)
data.mu.Unlock()
case *VarData:
data := s.data.(*VarData)
data.mu.Lock()
DbData.ModData, err = GoUtil.GobMarshal(s.data)
data.mu.Unlock()
default:
DbData.ModData, err = GoUtil.GobMarshal(s.data)
}
if err != nil { if err != nil {
log.Error("SaveData Marshal failed,Mod Key: %s err:%v", s.key, err) log.Error("SaveData Marshal failed,Mod Key: %s err:%v", s.key, err)
return return