From 7dc5d28ee6bb7c1e9a6748c8d454d91816a6364c Mon Sep 17 00:00:00 2001 From: ian Date: Thu, 15 Dec 2011 07:12:03 +0000 Subject: 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 --- libgo/Makefile.am | 1 + libgo/Makefile.in | 1 + libgo/go/syscall/syscall_errno.go | 26 ++++++++++++++++++++++++++ libgo/go/syscall/syscall_unix.go | 22 ---------------------- 4 files changed, 28 insertions(+), 22 deletions(-) create mode 100644 libgo/go/syscall/syscall_errno.go (limited to 'libgo') 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 -} -- cgit v1.2.1