blob: 9247ce32e045b96e19152bb898f3817fc3ba984f [file] [log] [blame]
Peter Collingbournead9841e2014-11-27 00:06:42 +00001// RUN: llgo -o %t %s
2// RUN: %t 2>&1 | FileCheck %s
3
4// CHECK: 0 0
5// CHECK-NEXT: 0 1
6// CHECK-NEXT: 10
7// CHECK-NEXT: 20
8// CHECK-NEXT: 30
9// CHECK-NEXT: 40
10// CHECK-NEXT: 50
11// CHECK-NEXT: 60
12// CHECK-NEXT: 70
13// CHECK-NEXT: 80
14// CHECK-NEXT: 90
15// CHECK-NEXT: 100
16// CHECK-NEXT: -1
17
18package main
19
20func main() {
21 c := make(chan int)
22 println(len(c), cap(c))
23 c1 := make(chan int, 1)
24 println(len(c1), cap(c1))
25 f := func() {
26 n, ok := <-c
27 if ok {
28 c1 <- n * 10
29 } else {
30 c1 <- -1
31 }
32 }
33 for i := 0; i < 10; i++ {
34 go f()
35 c <- i + 1
36 println(<-c1)
37 }
38 go f()
39 close(c)
40 println(<-c1)
41}