Files
docker-cli/components/cli/vendor/github.com/stevvooe/continuity/sysx/sys.go
Tonis Tiigi d33398c2c4 vendor: update moby
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 4adf701567
Component: cli
2017-06-23 11:34:22 -07:00

38 lines
708 B
Go

package sysx
import (
"syscall"
"unsafe"
)
var _zero uintptr
// use is a no-op, but the compiler cannot see that it is.
// Calling use(p) ensures that p is kept live until that point.
//go:noescape
func use(p unsafe.Pointer)
// Do the interface allocations only once for common
// Errno values.
var (
errEAGAIN error = syscall.EAGAIN
errEINVAL error = syscall.EINVAL
errENOENT error = syscall.ENOENT
)
// errnoErr returns common boxed Errno values, to prevent
// allocations at runtime.
func errnoErr(e syscall.Errno) error {
switch e {
case 0:
return nil
case syscall.EAGAIN:
return errEAGAIN
case syscall.EINVAL:
return errEINVAL
case syscall.ENOENT:
return errENOENT
}
return e
}