]> Cypherpunks repositories - gostls13.git/commitdiff
misc/cgo/test: test for issue 5337.
authorShenghou Ma <minux.ma@gmail.com>
Wed, 15 May 2013 04:33:29 +0000 (12:33 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Wed, 15 May 2013 04:33:29 +0000 (12:33 +0800)
Test for CL 9226043.

R=golang-dev, dave, iant, bradfitz
CC=golang-dev
https://golang.org/cl/9249043

misc/cgo/test/cgo_test.go
misc/cgo/test/issue5337.go [new file with mode: 0644]
misc/cgo/test/issue5337w.go [new file with mode: 0644]

index 56e1a0625e8b76a1db1429753dca8b121f3211af..14e1224e9ac300929ed43dfc4c3d9026904baa6a 100644 (file)
@@ -39,5 +39,6 @@ func TestCthread(t *testing.T)             { testCthread(t) }
 func TestCallbackCallers(t *testing.T)     { testCallbackCallers(t) }
 func Test5227(t *testing.T)                { test5227(t) }
 func TestCflags(t *testing.T)              { testCflags(t) }
+func Test5337(t *testing.T)                { test5337(t) }
 
 func BenchmarkCgoCall(b *testing.B) { benchCgoCall(b) }
diff --git a/misc/cgo/test/issue5337.go b/misc/cgo/test/issue5337.go
new file mode 100644 (file)
index 0000000..7f14ff4
--- /dev/null
@@ -0,0 +1,31 @@
+// Copyright 2013 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.
+
+// +build !windows
+
+package cgotest
+
+/*
+#include <signal.h>
+#include <pthread.h>
+
+static void *thread(void *p) {
+       (void)p;
+       pthread_kill(pthread_self(), SIGPROF);
+       return NULL;
+}
+void test5337() {
+       pthread_t tid;
+       pthread_create(&tid, 0, thread, NULL);
+       pthread_join(tid, 0);
+}
+*/
+import "C"
+
+import "testing"
+
+// Verify that we can withstand SIGPROF received on foreign threads
+func test5337(t *testing.T) {
+       C.test5337()
+}
diff --git a/misc/cgo/test/issue5337w.go b/misc/cgo/test/issue5337w.go
new file mode 100644 (file)
index 0000000..f2719d3
--- /dev/null
@@ -0,0 +1,9 @@
+// Copyright 2013 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.
+
+// +build windows
+
+package cgotest
+
+func test5337(t *testing.T) {}