• David Crawshaw's avatar
    runtime: initialize extra M for cgo during mstart · b8caed82
    David Crawshaw authored
    Previously the extra m needed for cgo callbacks was created on the
    first callback. This works for cgo, however the cgocallback mechanism
    is also borrowed by badsignal which can run before any cgo calls are
    made.
    
    Now we initialize the extra M at runtime startup before any signal
    handlers are registered, so badsignal cannot be called until the
    extra M is ready.
    
    Updates #10207.
    
    Change-Id: Iddda2c80db6dc52d8b60e2b269670fbaa704c7b3
    Reviewed-on: https://go-review.googlesource.com/7978Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    Run-TryBot: David Crawshaw <crawshaw@golang.org>
    b8caed82
cgocall.go 8.97 KB