mirror of
https://github.com/golang/go
synced 2024-11-17 21:04:43 -07:00
all: use time.Until where applicable
Updates #14595 Change-Id: Idf60b3004c7a0ebb59dd48389ab62c854069e09f Reviewed-on: https://go-review.googlesource.com/28073 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
6c6ad08eb9
commit
298791a94a
@ -376,7 +376,7 @@ func WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) {
|
||||
deadline: deadline,
|
||||
}
|
||||
propagateCancel(parent, c)
|
||||
d := deadline.Sub(time.Now())
|
||||
d := time.Until(deadline)
|
||||
if d <= 0 {
|
||||
c.cancel(true, DeadlineExceeded) // deadline has already passed
|
||||
return c, func() { c.cancel(true, Canceled) }
|
||||
@ -406,7 +406,7 @@ func (c *timerCtx) Deadline() (deadline time.Time, ok bool) {
|
||||
}
|
||||
|
||||
func (c *timerCtx) String() string {
|
||||
return fmt.Sprintf("%v.WithDeadline(%s [%s])", c.cancelCtx.Context, c.deadline, c.deadline.Sub(time.Now()))
|
||||
return fmt.Sprintf("%v.WithDeadline(%s [%s])", c.cancelCtx.Context, c.deadline, time.Until(c.deadline))
|
||||
}
|
||||
|
||||
func (c *timerCtx) cancel(removeFromParent bool, err error) {
|
||||
|
@ -102,7 +102,7 @@ func DialWithDialer(dialer *net.Dialer, network, addr string, config *Config) (*
|
||||
timeout := dialer.Timeout
|
||||
|
||||
if !dialer.Deadline.IsZero() {
|
||||
deadlineTimeout := dialer.Deadline.Sub(time.Now())
|
||||
deadlineTimeout := time.Until(dialer.Deadline)
|
||||
if timeout == 0 || deadlineTimeout < timeout {
|
||||
timeout = deadlineTimeout
|
||||
}
|
||||
|
@ -122,7 +122,7 @@ func (fd *netFD) setWriteDeadline(t time.Time) error {
|
||||
}
|
||||
|
||||
func setDeadlineImpl(fd *netFD, t time.Time, mode int) error {
|
||||
diff := int64(t.Sub(time.Now()))
|
||||
diff := int64(time.Until(t))
|
||||
d := runtimeNano() + diff
|
||||
if d <= 0 && diff > 0 {
|
||||
// If the user has a deadline in the future, but the delay calculation
|
||||
|
@ -324,7 +324,7 @@ func setRequestCancel(req *Request, rt RoundTripper, deadline time.Time) (stopTi
|
||||
var once sync.Once
|
||||
stopTimer = func() { once.Do(func() { close(stopTimerCh) }) }
|
||||
|
||||
timer := time.NewTimer(deadline.Sub(time.Now()))
|
||||
timer := time.NewTimer(time.Until(deadline))
|
||||
go func() {
|
||||
select {
|
||||
case <-initialReqCancel:
|
||||
|
@ -1737,7 +1737,7 @@ restart:
|
||||
if !c.rd.IsZero() {
|
||||
// If the deadline falls in the middle of our sleep window, deduct
|
||||
// part of the sleep, then return a timeout.
|
||||
if remaining := c.rd.Sub(time.Now()); remaining < cue {
|
||||
if remaining := time.Until(c.rd); remaining < cue {
|
||||
c.script[0] = cue - remaining
|
||||
time.Sleep(remaining)
|
||||
return 0, syscall.ETIMEDOUT
|
||||
|
Loading…
Reference in New Issue
Block a user