timer.go 265 B

123456789101112131415
  1. package missinggo
  2. import (
  3. "math"
  4. "time"
  5. )
  6. // Returns a time.Timer that calls f. The timer is initially stopped.
  7. func StoppedFuncTimer(f func()) (t *time.Timer) {
  8. t = time.AfterFunc(math.MaxInt64, f)
  9. if !t.Stop() {
  10. panic("timer already fired")
  11. }
  12. return
  13. }