mirror of
https://github.com/golang/net.git
synced 2026-03-31 10:27:08 +09:00
context: deflake example
Got a trybot failure in https://storage.googleapis.com/go-build-log/8aee0b8b/linux-amd64_38d0be3e.log Change-Id: I867a658968a0088c9f3f76ff235816e4179f0bec Reviewed-on: https://go-review.googlesource.com/47095 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
@@ -11,12 +11,15 @@ import (
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
||||
var workComplete <-chan int
|
||||
|
||||
func ExampleWithTimeout() {
|
||||
// Pass a context with a timeout to tell a blocking function that it
|
||||
// should abandon its work after the timeout elapses.
|
||||
ctx, _ := context.WithTimeout(context.Background(), 100*time.Millisecond)
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond)
|
||||
select {
|
||||
case <-time.After(200 * time.Millisecond):
|
||||
case <-workComplete:
|
||||
cancel()
|
||||
fmt.Println("overslept")
|
||||
case <-ctx.Done():
|
||||
fmt.Println(ctx.Err()) // prints "context deadline exceeded"
|
||||
|
||||
Reference in New Issue
Block a user