github.com/twelsh-aw/go/src@v0.0.0-20230516233729-a56fe86a7c81/runtime/os_linux_generic.go (about) 1 // Copyright 2009 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build !mips && !mipsle && !mips64 && !mips64le && !s390x && !ppc64 && linux 6 7 package runtime 8 9 const ( 10 _SS_DISABLE = 2 11 _NSIG = 65 12 _SIG_BLOCK = 0 13 _SIG_UNBLOCK = 1 14 _SIG_SETMASK = 2 15 ) 16 17 // It's hard to tease out exactly how big a Sigset is, but 18 // rt_sigprocmask crashes if we get it wrong, so if binaries 19 // are running, this is right. 20 type sigset [2]uint32 21 22 var sigset_all = sigset{^uint32(0), ^uint32(0)} 23 24 //go:nosplit 25 //go:nowritebarrierrec 26 func sigaddset(mask *sigset, i int) { 27 (*mask)[(i-1)/32] |= 1 << ((uint32(i) - 1) & 31) 28 } 29 30 func sigdelset(mask *sigset, i int) { 31 (*mask)[(i-1)/32] &^= 1 << ((uint32(i) - 1) & 31) 32 } 33 34 //go:nosplit 35 func sigfillset(mask *uint64) { 36 *mask = ^uint64(0) 37 }