github.com/guyezi/gofrontend@v0.0.0-20200228202240-7a62a49e62c0/libgo/go/internal/poll/fcntl_libc.go (about) 1 // Copyright 2019 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 // +build aix darwin solaris 6 7 package poll 8 9 import ( 10 "syscall" 11 ) 12 13 // Use a helper function to call fcntl. This is defined in C in 14 // libgo/runtime. 15 //extern __go_fcntl_uintptr 16 func libc_fcntl(uintptr, uintptr, uintptr) (uintptr, uintptr) 17 18 func fcntl(fd int, cmd int, arg int) (int, error) { 19 syscall.Entersyscall() 20 r, e := libc_fcntl(uintptr(fd), uintptr(cmd), uintptr(arg)) 21 syscall.Exitsyscall() 22 if e != 0 { 23 return int(r), syscall.Errno(e) 24 } 25 return int(r), nil 26 }