src/runtime/sigqueue.go | 6 ++++-- diff --git a/src/runtime/sigqueue.go b/src/runtime/sigqueue.go index 9f5324095448ce7c30ef318021320f6fb1942495..a425433b20a8d55b9fb5f8a1425c414c14203bdd 100644 --- a/src/runtime/sigqueue.go +++ b/src/runtime/sigqueue.go @@ -237,8 +237,10 @@ i |= 1 << (s & 31) atomic.Store(&sig.ignored[s/32], i) } -// sigInitIgnored marks the signal as already ignored. This is called at -// program start by siginit. +// sigInitIgnored marks the signal as already ignored. This is called at +// program start by initsig. In a shared library initsig is called by +// libpreinit, so the runtime may not be initialized yet. +//go:nosplit func sigInitIgnored(s uint32) { i := sig.ignored[s/32] i |= 1 << (s & 31)