diff --git a/src/runtime/signal_unix.go b/src/runtime/signal_unix.go index 5aedbf77783..ba3e21ae2ea 100644 --- a/src/runtime/signal_unix.go +++ b/src/runtime/signal_unix.go @@ -432,6 +432,8 @@ func sigtrampgo(sig uint32, info *siginfo, ctx unsafe.Pointer) { return } + setg(g.m.gsignal) + // If some non-Go code called sigaltstack, adjust. var gsignalStack gsignalStack setStack := adjustSignalStack(sig, g.m, &gsignalStack) @@ -439,8 +441,6 @@ func sigtrampgo(sig uint32, info *siginfo, ctx unsafe.Pointer) { g.m.gsignal.stktopsp = getcallersp() } - setg(g.m.gsignal) - if g.stackguard0 == stackFork { signalDuringFork(sig) }