diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-02-09 08:19:58 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-02-09 08:19:58 +0000 |
commit | 94252f4bcc0a3f487b804ce535cb77b8bef4db83 (patch) | |
tree | 7ca86535c5a6b99d4cc432ba5cfddabc5ee4ea16 /libgo/go/net/fd.go | |
parent | cd6368115dbd75d9187877097c48a0d8d4c04fd4 (diff) | |
download | gcc-94252f4bcc0a3f487b804ce535cb77b8bef4db83.zip gcc-94252f4bcc0a3f487b804ce535cb77b8bef4db83.tar.gz gcc-94252f4bcc0a3f487b804ce535cb77b8bef4db83.tar.bz2 |
libgo: Update to weekly.2012-02-07.
From-SVN: r184034
Diffstat (limited to 'libgo/go/net/fd.go')
-rw-r--r-- | libgo/go/net/fd.go | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/libgo/go/net/fd.go b/libgo/go/net/fd.go index 495ef00..2352d22 100644 --- a/libgo/go/net/fd.go +++ b/libgo/go/net/fd.go @@ -43,12 +43,6 @@ type netFD struct { ncr, ncw int } -type InvalidConnError struct{} - -func (e *InvalidConnError) Error() string { return "invalid net.Conn" } -func (e *InvalidConnError) Temporary() bool { return false } -func (e *InvalidConnError) Timeout() bool { return false } - // A pollServer helps FDs determine when to retry a non-blocking // read or write after they get EAGAIN. When an FD needs to wait, // send the fd on s.cr (for a read) or s.cw (for a write) to pass the @@ -275,20 +269,20 @@ func startServer() { pollserver = p } -func newFD(fd, family, sotype int, net string) (f *netFD, err error) { +func newFD(fd, family, sotype int, net string) (*netFD, error) { onceStartServer.Do(startServer) - if e := syscall.SetNonblock(fd, true); e != nil { - return nil, e + if err := syscall.SetNonblock(fd, true); err != nil { + return nil, err } - f = &netFD{ + netfd := &netFD{ sysfd: fd, family: family, sotype: sotype, net: net, } - f.cr = make(chan bool, 1) - f.cw = make(chan bool, 1) - return f, nil + netfd.cr = make(chan bool, 1) + netfd.cw = make(chan bool, 1) + return netfd, nil } func (fd *netFD) setAddr(laddr, raddr Addr) { @@ -304,8 +298,8 @@ func (fd *netFD) setAddr(laddr, raddr Addr) { fd.sysfile = os.NewFile(fd.sysfd, fd.net+":"+ls+"->"+rs) } -func (fd *netFD) connect(ra syscall.Sockaddr) (err error) { - err = syscall.Connect(fd.sysfd, ra) +func (fd *netFD) connect(ra syscall.Sockaddr) error { + err := syscall.Connect(fd.sysfd, ra) if err == syscall.EINPROGRESS { pollserver.WaitWrite(fd) var e int @@ -466,7 +460,7 @@ func (fd *netFD) ReadMsg(p []byte, oob []byte) (n, oobn, flags int, sa syscall.S return } -func (fd *netFD) Write(p []byte) (n int, err error) { +func (fd *netFD) Write(p []byte) (int, error) { if fd == nil { return 0, os.EINVAL } @@ -477,8 +471,9 @@ func (fd *netFD) Write(p []byte) (n int, err error) { if fd.sysfile == nil { return 0, os.EINVAL } - nn := 0 + var err error + nn := 0 for { var n int n, err = syscall.Write(fd.sysfile.Fd(), p[nn:]) @@ -565,7 +560,7 @@ func (fd *netFD) WriteMsg(p []byte, oob []byte, sa syscall.Sockaddr) (n int, oob return } -func (fd *netFD) accept(toAddr func(syscall.Sockaddr) Addr) (nfd *netFD, err error) { +func (fd *netFD) accept(toAddr func(syscall.Sockaddr) Addr) (netfd *netFD, err error) { if fd == nil || fd.sysfile == nil { return nil, os.EINVAL } @@ -600,13 +595,13 @@ func (fd *netFD) accept(toAddr func(syscall.Sockaddr) Addr) (nfd *netFD, err err syscall.CloseOnExec(s) syscall.ForkLock.RUnlock() - if nfd, err = newFD(s, fd.family, fd.sotype, fd.net); err != nil { + if netfd, err = newFD(s, fd.family, fd.sotype, fd.net); err != nil { syscall.Close(s) return nil, err } - lsa, _ := syscall.Getsockname(nfd.sysfd) - nfd.setAddr(toAddr(lsa), toAddr(rsa)) - return nfd, nil + lsa, _ := syscall.Getsockname(netfd.sysfd) + netfd.setAddr(toAddr(lsa), toAddr(rsa)) + return netfd, nil } func (fd *netFD) dup() (f *os.File, err error) { |