1
0
mirror of https://github.com/golang/go synced 2024-11-18 03:04:45 -07:00

runtime: get more info for TestCgoSignalDeadlock failures

Updates #18598

Change-Id: I13c60124714cf9d1537efa0a7dd1e6a0fed9ae5b
Reviewed-on: https://go-review.googlesource.com/46723
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Ian Lance Taylor 2017-06-26 16:11:33 -07:00
parent 09899d9b91
commit 93870aeee9

View File

@ -45,10 +45,13 @@ func CgoSignalDeadlock() {
}()
var s *string
*s = ""
fmt.Printf("continued after expected panic\n")
}()
}
}()
time.Sleep(time.Millisecond)
start := time.Now()
var times []time.Duration
for i := 0; i < 64; i++ {
go func() {
runtime.LockOSThread()
@ -62,8 +65,9 @@ func CgoSignalDeadlock() {
ping <- false
select {
case <-ping:
times = append(times, time.Since(start))
case <-time.After(time.Second):
fmt.Printf("HANG\n")
fmt.Printf("HANG 1 %v\n", times)
return
}
}
@ -71,7 +75,7 @@ func CgoSignalDeadlock() {
select {
case <-ping:
case <-time.After(time.Second):
fmt.Printf("HANG\n")
fmt.Printf("HANG 2 %v\n", times)
return
}
fmt.Printf("OK\n")