mirror of https://github.com/golang/go.git
syscall: fix handling socket control messages on dragonfly
LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/91860043
This commit is contained in:
parent
9fc6c0598b
commit
d844d6982e
|
|
@ -13,9 +13,9 @@ import "unsafe"
|
|||
// Round the length of a raw sockaddr up to align it properly.
|
||||
func cmsgAlignOf(salen int) int {
|
||||
salign := sizeofPtr
|
||||
// NOTE: It seems like 64-bit Darwin kernel still requires 32-bit
|
||||
// aligned access to BSD subsystem.
|
||||
if darwin64Bit {
|
||||
// NOTE: It seems like 64-bit Darwin and DragonFly BSD kernels
|
||||
// still require 32-bit aligned access to network subsystem.
|
||||
if darwin64Bit || dragonfly64Bit {
|
||||
salign = 4
|
||||
}
|
||||
return (salen + salign - 1) & ^(salign - 1)
|
||||
|
|
|
|||
|
|
@ -19,8 +19,9 @@ var (
|
|||
)
|
||||
|
||||
const (
|
||||
darwin64Bit = runtime.GOOS == "darwin" && sizeofPtr == 8
|
||||
netbsd32Bit = runtime.GOOS == "netbsd" && sizeofPtr == 4
|
||||
darwin64Bit = runtime.GOOS == "darwin" && sizeofPtr == 8
|
||||
dragonfly64Bit = runtime.GOOS == "dragonfly" && sizeofPtr == 8
|
||||
netbsd32Bit = runtime.GOOS == "netbsd" && sizeofPtr == 4
|
||||
)
|
||||
|
||||
func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
|
||||
|
|
|
|||
Loading…
Reference in New Issue