From 512ec7036ec497969bb085a520544ad61a4a5cc0 Mon Sep 17 00:00:00 2001
From: Shenghou Ma <minux.ma@gmail.com>
Date: Wed, 15 May 2013 12:33:29 +0800
Subject: [PATCH] misc/cgo/test: test for issue 5337. Test for CL 9226043.

R=golang-dev, dave, iant, bradfitz
CC=golang-dev
https://golang.org/cl/9249043
---
 misc/cgo/test/cgo_test.go   |  1 +
 misc/cgo/test/issue5337.go  | 31 +++++++++++++++++++++++++++++++
 misc/cgo/test/issue5337w.go |  9 +++++++++
 3 files changed, 41 insertions(+)
 create mode 100644 misc/cgo/test/issue5337.go
 create mode 100644 misc/cgo/test/issue5337w.go

diff --git a/misc/cgo/test/cgo_test.go b/misc/cgo/test/cgo_test.go
index 56e1a0625e..14e1224e9a 100644
--- a/misc/cgo/test/cgo_test.go
+++ b/misc/cgo/test/cgo_test.go
@@ -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
index 0000000000..7f14ff4261
--- /dev/null
+++ b/misc/cgo/test/issue5337.go
@@ -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
index 0000000000..f2719d3d7e
--- /dev/null
+++ b/misc/cgo/test/issue5337w.go
@@ -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) {}
-- 
2.30.9