2016-03-18 17:09:39 -06:00
|
|
|
// Copyright 2016 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
package runtime
|
|
|
|
|
|
|
|
const (
|
|
|
|
_SS_DISABLE = 2
|
|
|
|
_NSIG = 65
|
|
|
|
_SI_USER = 0
|
|
|
|
_SIG_BLOCK = 0
|
|
|
|
_SIG_UNBLOCK = 1
|
|
|
|
_SIG_SETMASK = 2
|
|
|
|
_RLIMIT_AS = 9
|
|
|
|
)
|
|
|
|
|
|
|
|
type sigset uint64
|
|
|
|
|
|
|
|
type rlimit struct {
|
|
|
|
rlim_cur uintptr
|
|
|
|
rlim_max uintptr
|
|
|
|
}
|
|
|
|
|
|
|
|
var sigset_all = sigset(^uint64(0))
|
|
|
|
|
2016-09-27 14:42:28 -06:00
|
|
|
//go:nosplit
|
|
|
|
//go:nowritebarrierrec
|
2016-03-18 17:09:39 -06:00
|
|
|
func sigaddset(mask *sigset, i int) {
|
|
|
|
if i > 64 {
|
|
|
|
throw("unexpected signal greater than 64")
|
|
|
|
}
|
|
|
|
*mask |= 1 << (uint(i) - 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
func sigdelset(mask *sigset, i int) {
|
|
|
|
if i > 64 {
|
|
|
|
throw("unexpected signal greater than 64")
|
|
|
|
}
|
|
|
|
*mask &^= 1 << (uint(i) - 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
func sigfillset(mask *uint64) {
|
|
|
|
*mask = ^uint64(0)
|
|
|
|
}
|