diff options
Diffstat (limited to 'src/pkg/net/fd_openbsd.go')
| -rw-r--r-- | src/pkg/net/fd_openbsd.go | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/pkg/net/fd_openbsd.go b/src/pkg/net/fd_openbsd.go index e50883e94..35d84c30e 100644 --- a/src/pkg/net/fd_openbsd.go +++ b/src/pkg/net/fd_openbsd.go @@ -21,17 +21,17 @@ type pollster struct { kbuf [1]syscall.Kevent_t } -func newpollster() (p *pollster, err os.Error) { +func newpollster() (p *pollster, err error) { p = new(pollster) - var e int - if p.kq, e = syscall.Kqueue(); e != 0 { - return nil, os.NewSyscallError("kqueue", e) + if p.kq, err = syscall.Kqueue(); err != nil { + return nil, os.NewSyscallError("kqueue", err) } + syscall.CloseOnExec(p.kq) p.events = p.eventbuf[0:0] return p, nil } -func (p *pollster) AddFD(fd int, mode int, repeat bool) (bool, os.Error) { +func (p *pollster) AddFD(fd int, mode int, repeat bool) (bool, error) { // pollServer is locked. var kmode int @@ -49,15 +49,15 @@ func (p *pollster) AddFD(fd int, mode int, repeat bool) (bool, os.Error) { } syscall.SetKevent(ev, fd, kmode, flags) - n, e := syscall.Kevent(p.kq, p.kbuf[:], nil, nil) - if e != 0 { - return false, os.NewSyscallError("kevent", e) + n, err := syscall.Kevent(p.kq, p.kbuf[:], nil, nil) + if err != nil { + return false, os.NewSyscallError("kevent", err) } if n != 1 || (ev.Flags&syscall.EV_ERROR) == 0 || int(ev.Ident) != fd || int(ev.Filter) != kmode { - return false, os.NewSyscallError("kqueue phase error", e) + return false, os.NewSyscallError("kqueue phase error", err) } if ev.Data != 0 { - return false, os.Errno(int(ev.Data)) + return false, syscall.Errno(int(ev.Data)) } return false, nil } @@ -77,7 +77,7 @@ func (p *pollster) DelFD(fd int, mode int) { syscall.Kevent(p.kq, p.kbuf[:], nil, nil) } -func (p *pollster) WaitFD(s *pollServer, nsec int64) (fd int, mode int, err os.Error) { +func (p *pollster) WaitFD(s *pollServer, nsec int64) (fd int, mode int, err error) { var t *syscall.Timespec for len(p.events) == 0 { if nsec > 0 { @@ -88,19 +88,19 @@ func (p *pollster) WaitFD(s *pollServer, nsec int64) (fd int, mode int, err os.E } s.Unlock() - nn, e := syscall.Kevent(p.kq, nil, p.eventbuf[:], t) + n, err := syscall.Kevent(p.kq, nil, p.eventbuf[:], t) s.Lock() - if e != 0 { - if e == syscall.EINTR { + if err != nil { + if err == syscall.EINTR { continue } - return -1, 0, os.NewSyscallError("kevent", e) + return -1, 0, os.NewSyscallError("kevent", err) } - if nn == 0 { + if n == 0 { return -1, 0, nil } - p.events = p.eventbuf[0:nn] + p.events = p.eventbuf[:n] } ev := &p.events[0] p.events = p.events[1:] @@ -113,4 +113,4 @@ func (p *pollster) WaitFD(s *pollServer, nsec int64) (fd int, mode int, err os.E return fd, mode, nil } -func (p *pollster) Close() os.Error { return os.NewSyscallError("close", syscall.Close(p.kq)) } +func (p *pollster) Close() error { return os.NewSyscallError("close", syscall.Close(p.kq)) } |
