// Copyright 2012 The Go Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style | |
// license that can be found in the LICENSE file. | |
package timeout | |
import ( | |
"time" | |
) | |
func Timeout() { | |
ch := make(chan bool, 1) | |
timeout := make(chan bool, 1) | |
go func() { | |
time.Sleep(1 * time.Second) | |
timeout <- true | |
}() | |
// STOP OMIT | |
select { | |
case <-ch: | |
// a read from ch has occurred | |
case <-timeout: | |
// the read from ch has timed out | |
} | |
// STOP OMIT | |
} |