]> Cypherpunks repositories - gostls13.git/commitdiff
context: avoid duplicate removeChild
authorWeerasak Chongnguluam <singpor@gmail.com>
Thu, 20 Jul 2017 18:53:55 +0000 (01:53 +0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 3 Oct 2018 15:26:10 +0000 (15:26 +0000)
When deadline has already passed,
current context is canceled before return cancel function.
So is unnecessary to call cancel with remove from parent again
in return cancel function.

Change-Id: I37c687c57a29d9f139c7fb648ce7de69093ed623
Reviewed-on: https://go-review.googlesource.com/c/50410
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/context/context.go

index 85f8acf8fa06dca645653fbdad499ca0399f6261..21a40d59477b4bc3277b4a2a036c9cb9e9d209b0 100644 (file)
@@ -393,7 +393,7 @@ func WithDeadline(parent Context, d time.Time) (Context, CancelFunc) {
        dur := time.Until(d)
        if dur <= 0 {
                c.cancel(true, DeadlineExceeded) // deadline has already passed
-               return c, func() { c.cancel(true, Canceled) }
+               return c, func() { c.cancel(false, Canceled) }
        }
        c.mu.Lock()
        defer c.mu.Unlock()