//go:build linux package osthread import ( "github.com/ebitengine/purego" ) func onmainthread() bool { return getpid() == gettid() } var ( getpid func() int32 gettid func() int32 ) func init() { libc, err := purego.Dlopen("libc.so.6", purego.RTLD_GLOBAL|purego.RTLD_NOW) if err != nil { panic(err) } purego.RegisterLibFunc(&getpid, libc, "getpid") purego.RegisterLibFunc(&gettid, libc, "gettid") }