Commit 22b0c245 authored by Eric Tune's avatar Eric Tune

Merge pull request #14458 from kubernetes/revert-14365-poll-immediately

Revert "Check the condition immediately in util.Wait funcs"
parents a4d85703 f3018162
......@@ -44,6 +44,8 @@ type ConditionFunc func() (done bool, err error)
// is reached. condition will always be invoked at least once but some intervals
// may be missed if the condition takes too long or the time window is too short.
// If you want to Poll something forever, see PollInfinite.
// Poll always waits the interval before the first check of the condition.
// TODO: create a separate PollImmediate function that does not wait.
func Poll(interval, timeout time.Duration, condition ConditionFunc) error {
return WaitFor(poller(interval, timeout), condition)
}
......@@ -88,12 +90,7 @@ func WaitFor(wait WaitFunc, c ConditionFunc) error {
func poller(interval, timeout time.Duration) WaitFunc {
return WaitFunc(func() <-chan struct{} {
ch := make(chan struct{})
go func() {
// send to the channel once immediately, rather than waiting for the first
// interval to elapse
ch <- struct{}{}
tick := time.NewTicker(interval)
defer tick.Stop()
var after <-chan time.Time
......
......@@ -40,8 +40,8 @@ DRAIN:
t.Errorf("unexpected timeout after poll")
}
}
if count < 2 {
t.Errorf("expected at least two values, got %d", count)
if count > 3 {
t.Errorf("expected up to three values, got %d", count)
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment