Commit 5324cf2d authored by Matthew Dempsky's avatar Matthew Dempsky Committed by Mikio Hara

runtime: change sigset_all and sigset_none into constants on OpenBSD

OpenBSD's sigprocmask system call passes the signal mask by value
rather than reference, so vars are unnecessary.  Additionally,
declaring "var sigset_all = ^sigset_none" means sigset_all won't be
initialized until runtime_init is called, but the first call to
newosproc happens before then.

I've witnessed Go processes on OpenBSD crash from receiving SIGWINCH
on the newly created OS thread before it finished initializing.

Change-Id: I16995e7e466d5e7e50bcaa7d9490173789a0b4cc
Reviewed-on: https://go-review.googlesource.com/6440Reviewed-by: default avatarMikio Hara <mikioh.mikioh@gmail.com>
Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
parent fcc164d7
......@@ -19,8 +19,10 @@ const (
_CLOCK_MONOTONIC = 3
)
var sigset_none = uint32(0)
var sigset_all = ^sigset_none
const (
sigset_none = uint32(0)
sigset_all = ^uint32(0)
)
// From OpenBSD's <sys/sysctl.h>
const (
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment