package main import ( "runtime" _ "issue3543/mgodbc" ) func test(name string) { defer func() { println("done " + name) if x := recover(); x != nil { println("recovered " + name) } }() println("\nHello " + name) var s *string _ = *s println("SHOULD NOT BE HERE") } func testInNewThread(name string) { c := make(chan bool) go func() { runtime.LockOSThread() test(name) c<- true }() <-c } func main() { runtime.LockOSThread() test("main") testInNewThread("new-thread") testInNewThread("second-new-thread") test("main-again") }