package cgotest /* void lockOSThreadCallback(void); inline static void lockOSThreadC(void) { lockOSThreadCallback(); } int usleep(unsigned usec); */ import "C" import ( "runtime" "testing" ) func test3775(t *testing.T) { // Used to panic because of the UnlockOSThread below. C.lockOSThreadC() } //export lockOSThreadCallback func lockOSThreadCallback() { runtime.LockOSThread() runtime.UnlockOSThread() go C.usleep(10000) runtime.Gosched() }