]> Cypherpunks repositories - gostls13.git/commitdiff
Verify that a send on a sychronous channel waits until the
authorIan Lance Taylor <iant@golang.org>
Sat, 2 May 2009 19:47:33 +0000 (12:47 -0700)
committerIan Lance Taylor <iant@golang.org>
Sat, 2 May 2009 19:47:33 +0000 (12:47 -0700)
value has been received.  This failed with gccgo before
today.

R=ken,r
DELTA=18  (18 added, 0 deleted, 0 changed)
OCL=28185
CL=28190

test/fixedbugs/bug147.go [new file with mode: 0644]

diff --git a/test/fixedbugs/bug147.go b/test/fixedbugs/bug147.go
new file mode 100644 (file)
index 0000000..e3e498b
--- /dev/null
@@ -0,0 +1,22 @@
+// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: bug147
+
+// Copyright 2009 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 main
+import "time"
+func main() {
+       var count int;
+       c := make(chan byte);
+       go func(c chan byte) {
+               <-c;
+               count++;
+               time.Sleep(1000000);
+               count++;
+               <-c;
+       } (c);
+       c <- 1;
+       c <- 2;
+       if count != 2 { panicln("synchronous send did not wait") }
+}