summaryrefslogtreecommitdiff
path: root/gcc/testsuite/go.test/test/initsyscall.go
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/go.test/test/initsyscall.go')
-rw-r--r--gcc/testsuite/go.test/test/initsyscall.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/go.test/test/initsyscall.go b/gcc/testsuite/go.test/test/initsyscall.go
new file mode 100644
index 000000000..b5e5812b6
--- /dev/null
+++ b/gcc/testsuite/go.test/test/initsyscall.go
@@ -0,0 +1,27 @@
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// 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.
+
+// This used to crash because the scheduler
+// tried to kick off a new scheduling thread for f
+// when time.Nanoseconds went into the system call.
+// It's not okay to schedule new goroutines
+// until main has started.
+
+package main
+
+import "time"
+
+func f() {
+}
+
+func init() {
+ go f()
+ time.Nanoseconds()
+}
+
+func main() {
+}
+