Fix CPU use (#40)

* Move default case out of select block.
* Add defers to close resources.
* `go fmt` cleanup.
This commit is contained in:
Ben Kochie
2018-11-06 17:04:36 +01:00
committed by Cameron Sparr
parent 9db3df4bca
commit 3a0b5a7d8e

View File

@@ -286,6 +286,7 @@ func (p *Pinger) run() {
var wg sync.WaitGroup
recv := make(chan *packet, 5)
defer close(recv)
wg.Add(1)
go p.recvICMP(conn, recv, &wg)
@@ -295,7 +296,9 @@ func (p *Pinger) run() {
}
timeout := time.NewTicker(p.Timeout)
defer timeout.Stop()
interval := time.NewTicker(p.Interval)
defer interval.Stop()
for {
select {
@@ -316,7 +319,7 @@ func (p *Pinger) run() {
if err != nil {
fmt.Println("FATAL: ", err.Error())
}
default:
}
if p.Count > 0 && p.PacketsRecv >= p.Count {
close(p.done)
wg.Wait()
@@ -324,7 +327,6 @@ func (p *Pinger) run() {
}
}
}
}
func (p *Pinger) Stop() {
close(p.done)