• Ian Lance Taylor's avatar
    runtime: account for callbacks in checkdead on Windows · 98c5a56f
    Ian Lance Taylor authored
    When a callback runs on a different thread in Windows, as in the
    runtime package test TestCallbackInAnotherThread, it will use the
    extra M. That can cause the test in checkdead to fail incorrectly.
    Check whether there actually is an extra M before expecting it.
    
    I think this is a general problem unrelated to timers. I think the test
    was passing previously because the timer goroutine was using an M.
    But I haven't proved that. This change seems correct, and it avoids
    the test failure when using the new timers on Windows.
    
    Updates #27707
    
    Change-Id: Ieb31c04ff0354d6fae7e173b59bcfadb8b0464cd
    Reviewed-on: https://go-review.googlesource.com/c/go/+/174037Reviewed-by: default avatarKeith Randall <khr@golang.org>
    98c5a56f
proc.go 145 KB