mirror of
https://github.com/golang/go
synced 2024-10-03 03:11:21 -06:00
e0053f8b1c
Linux/mips64 uses a different type of sigset. To deal with it, related functions in os1_linux.go is refactored to os1_linux_generic.go (used for non-mips64 architectures), and os1_linux_mips64x.go (only used in mips64{,le}), to avoid code copying. Change-Id: I5cadfccd86bfc4b30bf97e12607c3c614903ea4c Reviewed-on: https://go-review.googlesource.com/14991 Reviewed-by: Ian Lance Taylor <iant@golang.org>
27 lines
630 B
Go
27 lines
630 B
Go
// Copyright 2015 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.
|
|
|
|
// +build mips64 mips64le
|
|
// +build linux
|
|
|
|
package runtime
|
|
|
|
var sigset_all = sigset{^uint64(0), ^uint64(0)}
|
|
|
|
func sigaddset(mask *sigset, i int) {
|
|
(*mask)[(i-1)/64] |= 1 << ((uint32(i) - 1) & 63)
|
|
}
|
|
|
|
func sigdelset(mask *sigset, i int) {
|
|
(*mask)[(i-1)/64] &^= 1 << ((uint32(i) - 1) & 63)
|
|
}
|
|
|
|
func sigfillset(mask *[2]uint64) {
|
|
(*mask)[0], (*mask)[1] = ^uint64(0), ^uint64(0)
|
|
}
|
|
|
|
func sigcopyset(mask *sigset, m sigmask) {
|
|
(*mask)[0] = uint64(m[0]) | uint64(m[1])<<32
|
|
}
|