syscall: Move Errno into its own file, for RTEMS.
From-SVN: r182356
This commit is contained in:
parent
aebac0ca06
commit
5f8090a435
|
@ -1549,6 +1549,7 @@ endif
|
|||
|
||||
go_base_syscall_files = \
|
||||
go/syscall/env_unix.go \
|
||||
go/syscall/syscall_errno.go \
|
||||
go/syscall/libcall_support.go \
|
||||
go/syscall/libcall_posix.go \
|
||||
go/syscall/socket.go \
|
||||
|
|
|
@ -1886,6 +1886,7 @@ go_unicode_utf8_files = \
|
|||
@LIBGO_IS_LINUX_TRUE@syscall_netlink_file = go/syscall/netlink_linux.go
|
||||
go_base_syscall_files = \
|
||||
go/syscall/env_unix.go \
|
||||
go/syscall/syscall_errno.go \
|
||||
go/syscall/libcall_support.go \
|
||||
go/syscall/libcall_posix.go \
|
||||
go/syscall/socket.go \
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
// Copyright 2009 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package syscall
|
||||
|
||||
// An Errno is an unsigned number describing an error condition.
|
||||
// It implements the error interface. The zero Errno is by convention
|
||||
// a non-error, so code to convert from Errno to error should use:
|
||||
// err = nil
|
||||
// if errno != 0 {
|
||||
// err = errno
|
||||
// }
|
||||
type Errno uintptr
|
||||
|
||||
func (e Errno) Error() string {
|
||||
return Errstr(int(e))
|
||||
}
|
||||
|
||||
func (e Errno) Temporary() bool {
|
||||
return e == EINTR || e == EMFILE || e.Timeout()
|
||||
}
|
||||
|
||||
func (e Errno) Timeout() bool {
|
||||
return e == EAGAIN || e == EWOULDBLOCK || e == ETIMEDOUT
|
||||
}
|
|
@ -157,25 +157,3 @@ func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, e
|
|||
func Munmap(b []byte) (err error) {
|
||||
return mapper.Munmap(b)
|
||||
}
|
||||
|
||||
|
||||
// An Errno is an unsigned number describing an error condition.
|
||||
// It implements the error interface. The zero Errno is by convention
|
||||
// a non-error, so code to convert from Errno to error should use:
|
||||
// err = nil
|
||||
// if errno != 0 {
|
||||
// err = errno
|
||||
// }
|
||||
type Errno uintptr
|
||||
|
||||
func (e Errno) Error() string {
|
||||
return Errstr(int(e))
|
||||
}
|
||||
|
||||
func (e Errno) Temporary() bool {
|
||||
return e == EINTR || e == EMFILE || e.Timeout()
|
||||
}
|
||||
|
||||
func (e Errno) Timeout() bool {
|
||||
return e == EAGAIN || e == EWOULDBLOCK || e == ETIMEDOUT
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue