summaryrefslogtreecommitdiff
path: root/src/pkg/net/newpollserver.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/net/newpollserver.go')
-rw-r--r--src/pkg/net/newpollserver.go14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/pkg/net/newpollserver.go b/src/pkg/net/newpollserver.go
index fff54dba7..427208701 100644
--- a/src/pkg/net/newpollserver.go
+++ b/src/pkg/net/newpollserver.go
@@ -18,12 +18,7 @@ func newPollServer() (s *pollServer, err os.Error) {
}
var e int
if e = syscall.SetNonblock(s.pr.Fd(), true); e != 0 {
- Errno:
- err = &os.PathError{"setnonblock", s.pr.Name(), os.Errno(e)}
- Error:
- s.pr.Close()
- s.pw.Close()
- return nil, err
+ goto Errno
}
if e = syscall.SetNonblock(s.pw.Fd(), true); e != 0 {
goto Errno
@@ -38,4 +33,11 @@ func newPollServer() (s *pollServer, err os.Error) {
s.pending = make(map[int]*netFD)
go s.Run()
return s, nil
+
+Errno:
+ err = &os.PathError{"setnonblock", s.pr.Name(), os.Errno(e)}
+Error:
+ s.pr.Close()
+ s.pw.Close()
+ return nil, err
}