CheckMonitor runs forever and runs the first check immediately

This commit is contained in:
Armon Dadgar 2014-01-20 16:46:01 -10:00
parent a4201255df
commit 9e63d1fa32

View File

@ -55,11 +55,15 @@ func (c *CheckMonitor) Stop() {
// run is invoked by a goroutine to run until Stop() is called // run is invoked by a goroutine to run until Stop() is called
func (c *CheckMonitor) run() { func (c *CheckMonitor) run() {
select { next := time.After(0)
case <-time.After(c.Interval): for {
c.check() select {
case <-c.stopCh: case <-next:
return c.check()
next = time.After(c.Interval)
case <-c.stopCh:
return
}
} }
} }