1
0
mirror of https://github.com/golang/go synced 2024-10-03 12:31:21 -06:00

time.NewTicker: panic for intervals <= 0.

Not absolutely certain it's right to do this, but since there's
no error value coming back, it seems reasonable.

Fixes #1392.

R=rsc, adg
CC=golang-dev
https://golang.org/cl/3896042
This commit is contained in:
Rob Pike 2011-01-07 14:41:46 -08:00
parent 353fd1014c
commit f383062e01

View File

@ -5,6 +5,7 @@
package time
import (
"os"
"sync"
)
@ -163,10 +164,11 @@ var onceStartTickerLoop sync.Once
// NewTicker returns a new Ticker containing a channel that will
// send the time, in nanoseconds, every ns nanoseconds. It adjusts the
// intervals to make up for pauses in delivery of the ticks.
// intervals to make up for pauses in delivery of the ticks. The value of
// ns must be greater than zero; if not, NewTicker will panic.
func NewTicker(ns int64) *Ticker {
if ns <= 0 {
return nil
panic(os.ErrorString("non-positive interval for NewTicker"))
}
c := make(chan int64, 1) // See comment on send in tickerLoop
t := &Ticker{