github.com/bir3/gocompiler@v0.3.205/src/cmd/link/internal/ld/msync_darwin_syscall.go (about) 1 // Copyright 2022 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 darwin && !go1.20 6 7 package ld 8 9 import ( 10 "syscall" 11 "unsafe" 12 ) 13 14 func msync(b []byte, flags int) (err error) { 15 var p unsafe.Pointer 16 if len(b) > 0 { 17 p = unsafe.Pointer(&b[0]) 18 } 19 _, _, errno := syscall.Syscall(syscall.SYS_MSYNC, uintptr(p), uintptr(len(b)), uintptr(flags)) 20 if errno != 0 { 21 return errno 22 } 23 return nil 24 }