优化模块释放顺序

This commit is contained in:
duanhf2012
2024-12-11 18:31:37 +08:00
parent 16745b34f0
commit e3275e9f2a
2 changed files with 7 additions and 7 deletions

View File

@@ -125,14 +125,15 @@ func (m *Module) AddModule(module IModule) (uint32, error) {
func (m *Module) ReleaseModule(moduleId uint32) { func (m *Module) ReleaseModule(moduleId uint32) {
pModule := m.GetModule(moduleId).getBaseModule().(*Module) pModule := m.GetModule(moduleId).getBaseModule().(*Module)
//释放子孙 pModule.self.OnRelease()
log.Debug("Release module " + pModule.GetModuleName())
for i:=len(pModule.child)-1; i>=0; i-- { for i:=len(pModule.child)-1; i>=0; i-- {
m.ReleaseModule(pModule.child[i].GetModuleId()) m.ReleaseModule(pModule.child[i].GetModuleId())
} }
pModule.self.OnRelease()
pModule.GetEventHandler().Destroy() pModule.GetEventHandler().Destroy()
log.Debug("Release module " + pModule.GetModuleName())
for pTimer := range pModule.mapActiveTimer { for pTimer := range pModule.mapActiveTimer {
pTimer.Cancel() pTimer.Cancel()
} }

View File

@@ -264,12 +264,11 @@ func (s *Service) Release() {
} }
}() }()
for i:=len(s.child)-1; i>=0; i-- {
s.ReleaseModule(s.child[i].GetModuleId())
}
if atomic.AddInt32(&s.isRelease, -1) == -1 { if atomic.AddInt32(&s.isRelease, -1) == -1 {
s.self.OnRelease() s.self.OnRelease()
for i:=len(s.child)-1; i>=0; i-- {
s.ReleaseModule(s.child[i].GetModuleId())
}
} }
} }