summaryrefslogtreecommitdiff
path: root/src/lib/net/fd_darwin.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/net/fd_darwin.go')
-rw-r--r--src/lib/net/fd_darwin.go12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lib/net/fd_darwin.go b/src/lib/net/fd_darwin.go
index 3f2816737..b0eaf0594 100644
--- a/src/lib/net/fd_darwin.go
+++ b/src/lib/net/fd_darwin.go
@@ -15,16 +15,18 @@ import (
export type Pollster struct {
kq int64;
eventbuf [10]syscall.Kevent;
- events *[]syscall.Kevent;
+ events []syscall.Kevent;
}
+var NIL []syscall.Kevent; // TODO(rsc): remove
+
export func NewPollster() (p *Pollster, err *os.Error) {
p = new(Pollster);
var e int64;
if p.kq, e = syscall.kqueue(); e != 0 {
return nil, os.ErrnoToError(e)
}
- p.events = (&p.eventbuf)[0:0];
+ p.events = p.eventbuf[0:0];
return p, nil
}
@@ -49,7 +51,7 @@ func (p *Pollster) AddFD(fd int64, mode int, repeat bool) *os.Error {
ev.flags |= syscall.EV_ONESHOT
}
- n, e := syscall.kevent(p.kq, &events, &events, nil);
+ n, e := syscall.kevent(p.kq, events, events, nil);
if e != 0 {
return os.ErrnoToError(e)
}
@@ -64,14 +66,14 @@ func (p *Pollster) AddFD(fd int64, mode int, repeat bool) *os.Error {
func (p *Pollster) WaitFD() (fd int64, mode int, err *os.Error) {
for len(p.events) == 0 {
- nn, e := syscall.kevent(p.kq, nil, &p.eventbuf, nil);
+ nn, e := syscall.kevent(p.kq, NIL, p.eventbuf, nil);
if e != 0 {
if e == syscall.EAGAIN || e == syscall.EINTR {
continue
}
return -1, 0, os.ErrnoToError(e)
}
- p.events = (&p.eventbuf)[0:nn]
+ p.events = p.eventbuf[0:nn]
}
ev := &p.events[0];
p.events = p.events[1:len(p.events)];