diff options
Diffstat (limited to 'src/context')
-rw-r--r-- | src/context/context.go | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/context/context.go b/src/context/context.go index 0fbb572b8e..06580e0465 100644 --- a/src/context/context.go +++ b/src/context/context.go @@ -380,25 +380,25 @@ func (c *cancelCtx) cancel(removeFromParent bool, err error) { // // Canceling this context releases resources associated with it, so code should // call cancel as soon as the operations running in this Context complete. -func WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) { - if cur, ok := parent.Deadline(); ok && cur.Before(deadline) { +func WithDeadline(parent Context, d time.Time) (Context, CancelFunc) { + if cur, ok := parent.Deadline(); ok && cur.Before(d) { // The current deadline is already sooner than the new one. return WithCancel(parent) } c := &timerCtx{ cancelCtx: newCancelCtx(parent), - deadline: deadline, + deadline: d, } propagateCancel(parent, c) - d := time.Until(deadline) - if d <= 0 { + dur := time.Until(d) + if dur <= 0 { c.cancel(true, DeadlineExceeded) // deadline has already passed return c, func() { c.cancel(true, Canceled) } } c.mu.Lock() defer c.mu.Unlock() if c.err == nil { - c.timer = time.AfterFunc(d, func() { + c.timer = time.AfterFunc(dur, func() { c.cancel(true, DeadlineExceeded) }) } |