实时检测module释放

This commit is contained in:
boyce
2019-02-28 16:15:45 +08:00
parent 4445b377f8
commit 851b02b646

View File

@@ -270,14 +270,15 @@ func (slf *BaseModule) RunModule(module IModule) {
slf.WaitGroup.Add(1) slf.WaitGroup.Add(1)
defer slf.WaitGroup.Done() defer slf.WaitGroup.Done()
for { for {
//每500ms检查退出
if timer.CheckTimeOut() {
if atomic.LoadInt32(&slf.corouterstatus) != 0 { if atomic.LoadInt32(&slf.corouterstatus) != 0 {
module.OnEndRun() module.OnEndRun()
GetLogger().Printf(LEVER_INFO, "OnEndRun module %T ...", module) GetLogger().Printf(LEVER_INFO, "OnEndRun module %T ...", module)
break break
} }
//每500ms检查退出
if timer.CheckTimeOut() {
select { select {
case <-slf.ExitChan: case <-slf.ExitChan:
module.OnEndRun() module.OnEndRun()