avoid ticker leak when cpustat.ReadStat(...) panic

pull/155/head
kevin 6 years ago
parent 16ad37314d
commit b94e5ecd9f
  1. 4
      pkg/ratelimit/bbr/bbr.go

@ -32,13 +32,15 @@ func init() {
} }
func cpuproc() { func cpuproc() {
ticker := time.NewTicker(time.Millisecond * 250)
defer func() { defer func() {
ticker.Stop()
if err := recover(); err != nil { if err := recover(); err != nil {
log.Error("rate.limit.cpuproc() err(%+v)", err) log.Error("rate.limit.cpuproc() err(%+v)", err)
go cpuproc() go cpuproc()
} }
}() }()
ticker := time.NewTicker(time.Millisecond * 250)
// EMA algorithm: https://blog.csdn.net/m0_38106113/article/details/81542863 // EMA algorithm: https://blog.csdn.net/m0_38106113/article/details/81542863
for range ticker.C { for range ticker.C {
stat := &cpustat.Stat{} stat := &cpustat.Stat{}

Loading…
Cancel
Save