diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-12-15 07:12:03 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-12-15 07:12:03 +0000 |
commit | 7dc5d28ee6bb7c1e9a6748c8d454d91816a6364c (patch) | |
tree | cebf094bde6c4579d2f09949de23183734783c41 /libgo | |
parent | dd120a9705b6c48fdb519e837ad47e41d155f50b (diff) | |
download | gcc-7dc5d28ee6bb7c1e9a6748c8d454d91816a6364c.tar.gz |
syscall: Move Errno into its own file, for RTEMS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182356 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo')
-rw-r--r-- | libgo/Makefile.am | 1 | ||||
-rw-r--r-- | libgo/Makefile.in | 1 | ||||
-rw-r--r-- | libgo/go/syscall/syscall_errno.go | 26 | ||||
-rw-r--r-- | libgo/go/syscall/syscall_unix.go | 22 |
4 files changed, 28 insertions, 22 deletions
diff --git a/libgo/Makefile.am b/libgo/Makefile.am index 67ae8710903..2722fcbf6d0 100644 --- a/libgo/Makefile.am +++ b/libgo/Makefile.am @@ -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 \ diff --git a/libgo/Makefile.in b/libgo/Makefile.in index 2e1ea76eb2c..244cda86da3 100644 --- a/libgo/Makefile.in +++ b/libgo/Makefile.in @@ -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 \ diff --git a/libgo/go/syscall/syscall_errno.go b/libgo/go/syscall/syscall_errno.go new file mode 100644 index 00000000000..810572f58a9 --- /dev/null +++ b/libgo/go/syscall/syscall_errno.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 +} diff --git a/libgo/go/syscall/syscall_unix.go b/libgo/go/syscall/syscall_unix.go index 899a65ca9b4..07d3af3a622 100644 --- a/libgo/go/syscall/syscall_unix.go +++ b/libgo/go/syscall/syscall_unix.go @@ -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 -} |