mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-03 15:47:35 -04:00
unix: change Dup,Dup2,Dup3 to use Syscall, not RawSyscall
This avoids hanging when a Go program uses a FUSE filesystem and the dup system call has to close a file descriptor. When dup uses RawSyscall then the goroutine calling dup will occupy a scheduler slot (a p structure) during the call, and may block waiting for some other goroutine to respond to the close call on the FUSE filesystem. Changing to Syscall avoids the problem. This makes Dup a tiny bit slower but is quite unlikely to make a difference for any real programs. Update golang/go#10202. Change-Id: I590c5c9a04e0a1281a85dc553c7592fa83949ac7 Reviewed-on: https://go-review.googlesource.com/8056 Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
@@ -222,8 +222,8 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig
|
|||||||
//sys Chown(path string, uid int, gid int) (err error)
|
//sys Chown(path string, uid int, gid int) (err error)
|
||||||
//sys Chroot(path string) (err error)
|
//sys Chroot(path string) (err error)
|
||||||
//sys Close(fd int) (err error)
|
//sys Close(fd int) (err error)
|
||||||
//sysnb Dup(fd int) (nfd int, err error)
|
//sys Dup(fd int) (nfd int, err error)
|
||||||
//sysnb Dup2(from int, to int) (err error)
|
//sys Dup2(from int, to int) (err error)
|
||||||
//sys Exchangedata(path1 string, path2 string, options int) (err error)
|
//sys Exchangedata(path1 string, path2 string, options int) (err error)
|
||||||
//sys Exit(code int)
|
//sys Exit(code int)
|
||||||
//sys Fchdir(fd int) (err error)
|
//sys Fchdir(fd int) (err error)
|
||||||
|
|||||||
@@ -127,8 +127,8 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
|
|||||||
//sys Chown(path string, uid int, gid int) (err error)
|
//sys Chown(path string, uid int, gid int) (err error)
|
||||||
//sys Chroot(path string) (err error)
|
//sys Chroot(path string) (err error)
|
||||||
//sys Close(fd int) (err error)
|
//sys Close(fd int) (err error)
|
||||||
//sysnb Dup(fd int) (nfd int, err error)
|
//sys Dup(fd int) (nfd int, err error)
|
||||||
//sysnb Dup2(from int, to int) (err error)
|
//sys Dup2(from int, to int) (err error)
|
||||||
//sys Exit(code int)
|
//sys Exit(code int)
|
||||||
//sys Fchdir(fd int) (err error)
|
//sys Fchdir(fd int) (err error)
|
||||||
//sys Fchflags(fd int, flags int) (err error)
|
//sys Fchflags(fd int, flags int) (err error)
|
||||||
|
|||||||
@@ -379,8 +379,8 @@ func Llistxattr(link string, dest []byte) (sz int, err error) {
|
|||||||
//sys Chown(path string, uid int, gid int) (err error)
|
//sys Chown(path string, uid int, gid int) (err error)
|
||||||
//sys Chroot(path string) (err error)
|
//sys Chroot(path string) (err error)
|
||||||
//sys Close(fd int) (err error)
|
//sys Close(fd int) (err error)
|
||||||
//sysnb Dup(fd int) (nfd int, err error)
|
//sys Dup(fd int) (nfd int, err error)
|
||||||
//sysnb Dup2(from int, to int) (err error)
|
//sys Dup2(from int, to int) (err error)
|
||||||
//sys Exit(code int)
|
//sys Exit(code int)
|
||||||
//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
|
//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
|
||||||
//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
|
//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
|
||||||
|
|||||||
@@ -790,9 +790,9 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri
|
|||||||
//sys Chroot(path string) (err error)
|
//sys Chroot(path string) (err error)
|
||||||
//sys Close(fd int) (err error)
|
//sys Close(fd int) (err error)
|
||||||
//sys Creat(path string, mode uint32) (fd int, err error)
|
//sys Creat(path string, mode uint32) (fd int, err error)
|
||||||
//sysnb Dup(oldfd int) (fd int, err error)
|
//sys Dup(oldfd int) (fd int, err error)
|
||||||
//sysnb Dup2(oldfd int, newfd int) (err error)
|
//sys Dup2(oldfd int, newfd int) (err error)
|
||||||
//sysnb Dup3(oldfd int, newfd int, flags int) (err error)
|
//sys Dup3(oldfd int, newfd int, flags int) (err error)
|
||||||
//sysnb EpollCreate(size int) (fd int, err error)
|
//sysnb EpollCreate(size int) (fd int, err error)
|
||||||
//sysnb EpollCreate1(flag int) (fd int, err error)
|
//sysnb EpollCreate1(flag int) (fd int, err error)
|
||||||
//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error)
|
//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error)
|
||||||
|
|||||||
@@ -151,8 +151,8 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
|
|||||||
//sys Chown(path string, uid int, gid int) (err error)
|
//sys Chown(path string, uid int, gid int) (err error)
|
||||||
//sys Chroot(path string) (err error)
|
//sys Chroot(path string) (err error)
|
||||||
//sys Close(fd int) (err error)
|
//sys Close(fd int) (err error)
|
||||||
//sysnb Dup(fd int) (nfd int, err error)
|
//sys Dup(fd int) (nfd int, err error)
|
||||||
//sysnb Dup2(from int, to int) (err error)
|
//sys Dup2(from int, to int) (err error)
|
||||||
//sys Exit(code int)
|
//sys Exit(code int)
|
||||||
//sys Fchdir(fd int) (err error)
|
//sys Fchdir(fd int) (err error)
|
||||||
//sys Fchflags(fd int, flags int) (err error)
|
//sys Fchflags(fd int, flags int) (err error)
|
||||||
|
|||||||
@@ -129,8 +129,8 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
|
|||||||
//sys Chown(path string, uid int, gid int) (err error)
|
//sys Chown(path string, uid int, gid int) (err error)
|
||||||
//sys Chroot(path string) (err error)
|
//sys Chroot(path string) (err error)
|
||||||
//sys Close(fd int) (err error)
|
//sys Close(fd int) (err error)
|
||||||
//sysnb Dup(fd int) (nfd int, err error)
|
//sys Dup(fd int) (nfd int, err error)
|
||||||
//sysnb Dup2(from int, to int) (err error)
|
//sys Dup2(from int, to int) (err error)
|
||||||
//sys Exit(code int)
|
//sys Exit(code int)
|
||||||
//sys Fchdir(fd int) (err error)
|
//sys Fchdir(fd int) (err error)
|
||||||
//sys Fchflags(fd int, flags int) (err error)
|
//sys Fchflags(fd int, flags int) (err error)
|
||||||
|
|||||||
@@ -3,7 +3,12 @@
|
|||||||
|
|
||||||
package unix
|
package unix
|
||||||
|
|
||||||
import "unsafe"
|
import (
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ syscall.Errno
|
||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
@@ -409,7 +414,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -420,7 +425,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,12 @@
|
|||||||
|
|
||||||
package unix
|
package unix
|
||||||
|
|
||||||
import "unsafe"
|
import (
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ syscall.Errno
|
||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
@@ -409,7 +414,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -420,7 +425,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -428,7 +428,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -439,7 +439,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -428,7 +428,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -439,7 +439,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -394,7 +394,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -405,7 +405,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -394,7 +394,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -405,7 +405,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -394,7 +394,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -405,7 +405,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -309,7 +309,7 @@ func Creat(path string, mode uint32) (fd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(oldfd int) (fd int, err error) {
|
func Dup(oldfd int) (fd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(oldfd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
|
||||||
fd = int(r0)
|
fd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -320,7 +320,7 @@ func Dup(oldfd int) (fd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(oldfd int, newfd int) (err error) {
|
func Dup2(oldfd int, newfd int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
@@ -330,7 +330,7 @@ func Dup2(oldfd int, newfd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup3(oldfd int, newfd int, flags int) (err error) {
|
func Dup3(oldfd int, newfd int, flags int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
|
_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -309,7 +309,7 @@ func Creat(path string, mode uint32) (fd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(oldfd int) (fd int, err error) {
|
func Dup(oldfd int) (fd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(oldfd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
|
||||||
fd = int(r0)
|
fd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -320,7 +320,7 @@ func Dup(oldfd int) (fd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(oldfd int, newfd int) (err error) {
|
func Dup2(oldfd int, newfd int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
@@ -330,7 +330,7 @@ func Dup2(oldfd int, newfd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup3(oldfd int, newfd int, flags int) (err error) {
|
func Dup3(oldfd int, newfd int, flags int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
|
_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -309,7 +309,7 @@ func Creat(path string, mode uint32) (fd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(oldfd int) (fd int, err error) {
|
func Dup(oldfd int) (fd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(oldfd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
|
||||||
fd = int(r0)
|
fd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -320,7 +320,7 @@ func Dup(oldfd int) (fd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(oldfd int, newfd int) (err error) {
|
func Dup2(oldfd int, newfd int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
@@ -330,7 +330,7 @@ func Dup2(oldfd int, newfd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup3(oldfd int, newfd int, flags int) (err error) {
|
func Dup3(oldfd int, newfd int, flags int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
|
_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -411,7 +411,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -422,7 +422,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -411,7 +411,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -422,7 +422,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -411,7 +411,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -422,7 +422,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
@@ -789,6 +789,74 @@ func Mknod(path string, mode uint32, dev int) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func Mlock(b []byte) (err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(b) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&b[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = e1
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func Mlockall(flags int) (err error) {
|
||||||
|
_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = e1
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func Mprotect(b []byte, prot int) (err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(b) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&b[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
|
||||||
|
if e1 != 0 {
|
||||||
|
err = e1
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func Munlock(b []byte) (err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(b) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&b[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = e1
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func Munlockall() (err error) {
|
||||||
|
_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = e1
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
|
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
|
||||||
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
|
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
|||||||
@@ -409,7 +409,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -420,7 +420,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -409,7 +409,7 @@ func Close(fd int) (err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup(fd int) (nfd int, err error) {
|
func Dup(fd int) (nfd int, err error) {
|
||||||
r0, _, e1 := RawSyscall(SYS_DUP, uintptr(fd), 0, 0)
|
r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)
|
||||||
nfd = int(r0)
|
nfd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
@@ -420,7 +420,7 @@ func Dup(fd int) (nfd int, err error) {
|
|||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Dup2(from int, to int) (err error) {
|
func Dup2(from int, to int) (err error) {
|
||||||
_, _, e1 := RawSyscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user