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() | |
} |