| // Copyright 2018 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 |
| |
| /* |
| typedef void callback(char*); |
| extern void CallGoBigStack1(char*); |
| extern void bigStack(callback*); |
| */ |
| import "C" |
| |
| func init() { |
| register("BigStack", BigStack) |
| } |
| |
| func BigStack() { |
| // Create a large thread stack and call back into Go to test |
| // if Go correctly determines the stack bounds. |
| C.bigStack((*C.callback)(C.CallGoBigStack1)) |
| } |
| |
| //export goBigStack1 |
| func goBigStack1(x *C.char) { |
| println("OK") |
| } |