]> Cypherpunks.ru repositories - gostls13.git/blobdiff - test/goprint.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / goprint.go
index 0648c77e7d8570372f9644fac6e15b0446d2d92b..d44b259081e6801fe4d40b88697e5e5b94d6aa15 100644 (file)
@@ -1,4 +1,4 @@
-// cmpout
+// run
 
 // Copyright 2011 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
@@ -9,13 +9,24 @@
 package main
 
 import (
+       "log"
        "runtime"
        "time"
 )
 
 func main() {
+       numg0 := runtime.NumGoroutine()
+       deadline := time.Now().Add(10 * time.Second)
        go println(42, true, false, true, 1.5, "world", (chan int)(nil), []int(nil), (map[string]int)(nil), (func())(nil), byte(255))
-       for runtime.NumGoroutine() > 1 {
-               time.Sleep(10*time.Millisecond)
+       for {
+               numg := runtime.NumGoroutine()
+               if numg > numg0 {
+                       if time.Now().After(deadline) {
+                               log.Fatalf("%d goroutines > initial %d after deadline", numg, numg0)
+                       }
+                       runtime.Gosched()
+                       continue
+               }
+               break
        }
 }