Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for stackSwitchCallback (0.23 sec)

  1. src/runtime/testdata/testprogcgo/stackswitch.go

    package main
    
    /*
    void callStackSwitchCallbackFromThread(void);
    */
    import "C"
    
    import (
    	"fmt"
    	"runtime/debug"
    )
    
    func init() {
    	register("StackSwitchCallback", StackSwitchCallback)
    }
    
    //export stackSwitchCallback
    func stackSwitchCallback() {
    	// We want to trigger a bounds check on the g0 stack. To do this, we
    	// need to call a splittable function through systemstack().
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Nov 17 15:33:38 UTC 2023
    - 1.1K bytes
    - Viewed (0)
  2. src/runtime/testdata/testprogcgo/stackswitch.c

    #define STACK_SIZE	(64ull << 10)
    
    static ucontext_t uctx_save, uctx_switch;
    
    extern void stackSwitchCallback(void);
    
    char *stack2;
    
    static void *stackSwitchThread(void *arg) {
    	// Simple test: callback works from the normal system stack.
    	stackSwitchCallback();
    
    	// Next, verify that switching stacks doesn't break callbacks.
    
    	char *stack1 = malloc(STACK_SIZE);
    	if (stack1 == NULL) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 26 15:17:33 UTC 2023
    - 3.9K bytes
    - Viewed (0)
  3. src/runtime/crash_cgo_test.go

    	t.Parallel()
    	switch runtime.GOOS {
    	case "windows", "plan9", "android", "ios", "openbsd": // no getcontext
    		t.Skipf("skipping test on %s", runtime.GOOS)
    	}
    	got := runTestProg(t, "testprogcgo", "StackSwitchCallback")
    	skip := "SKIP\n"
    	if got == skip {
    		t.Skip("skipping on musl/bionic libc")
    	}
    	want := "OK\n"
    	if got != want {
    		t.Errorf("expected %q, got %v", want, got)
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 15 16:44:47 UTC 2024
    - 22.2K bytes
    - Viewed (0)
Back to top