From f383062e014d44872e8bd450a538fc45b7bee5c8 Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Fri, 7 Jan 2011 14:41:46 -0800 Subject: [PATCH] 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 --- src/pkg/time/tick.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/pkg/time/tick.go b/src/pkg/time/tick.go index 047468b81fb..8f7d4226fed 100644 --- a/src/pkg/time/tick.go +++ b/src/pkg/time/tick.go @@ -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{