Rémy Oudompheng | 2ece2f5 | 2012-02-18 22:15:42 +0100 | [diff] [blame] | 1 | // run |
Ian Lance Taylor | be82782 | 2009-05-02 12:47:33 -0700 | [diff] [blame] | 2 | |
| 3 | // Copyright 2009 The Go Authors. All rights reserved. |
| 4 | // Use of this source code is governed by a BSD-style |
| 5 | // license that can be found in the LICENSE file. |
| 6 | |
| 7 | package main |
Rob Pike | 325cf8e | 2010-03-24 16:46:53 -0700 | [diff] [blame] | 8 | |
Ian Lance Taylor | be82782 | 2009-05-02 12:47:33 -0700 | [diff] [blame] | 9 | import "time" |
Rob Pike | 325cf8e | 2010-03-24 16:46:53 -0700 | [diff] [blame] | 10 | |
Ian Lance Taylor | be82782 | 2009-05-02 12:47:33 -0700 | [diff] [blame] | 11 | func main() { |
Rob Pike | 325cf8e | 2010-03-24 16:46:53 -0700 | [diff] [blame] | 12 | var count int |
| 13 | c := make(chan byte) |
Ian Lance Taylor | be82782 | 2009-05-02 12:47:33 -0700 | [diff] [blame] | 14 | go func(c chan byte) { |
Rob Pike | 325cf8e | 2010-03-24 16:46:53 -0700 | [diff] [blame] | 15 | <-c |
| 16 | count++ |
| 17 | time.Sleep(1000000) |
| 18 | count++ |
| 19 | <-c |
| 20 | }(c) |
| 21 | c <- 1 |
| 22 | c <- 2 |
| 23 | if count != 2 { |
| 24 | panic("synchronous send did not wait") |
| 25 | } |
Ian Lance Taylor | be82782 | 2009-05-02 12:47:33 -0700 | [diff] [blame] | 26 | } |