diff options
author | Russ Cox <rsc@golang.org> | 2009-06-01 22:14:39 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-06-01 22:14:39 -0700 |
commit | 9849d463b66c597d5e2429274e677030c4465484 (patch) | |
tree | 874da14a9428e632f5d373e713631be06c233e65 /src/lib/net/fd_darwin.go | |
parent | 8f6dc671ffef2fc05c938ba6dee40a0354e83bbd (diff) | |
download | golang-9849d463b66c597d5e2429274e677030c4465484.tar.gz |
update Go tree to use new syscall package.
R=r
DELTA=713 (109 added, 386 deleted, 218 changed)
OCL=29707
CL=29722
Diffstat (limited to 'src/lib/net/fd_darwin.go')
-rw-r--r-- | src/lib/net/fd_darwin.go | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/lib/net/fd_darwin.go b/src/lib/net/fd_darwin.go index cfc873fc9..3d1025d51 100644 --- a/src/lib/net/fd_darwin.go +++ b/src/lib/net/fd_darwin.go @@ -15,14 +15,14 @@ import ( var kqueuePhaseError = &Error{"kqueue phase error"} type pollster struct { - kq int64; + kq int; eventbuf [10]syscall.Kevent_t; events []syscall.Kevent_t; } func newpollster() (p *pollster, err os.Error) { p = new(pollster); - var e int64; + var e int; if p.kq, e = syscall.Kqueue(); e != 0 { return nil, os.ErrnoToError(e) } @@ -30,7 +30,7 @@ func newpollster() (p *pollster, err os.Error) { return p, nil } -func (p *pollster) AddFD(fd int64, mode int, repeat bool) os.Error { +func (p *pollster) AddFD(fd int, mode int, repeat bool) os.Error { var kmode int16; if mode == 'r' { kmode = syscall.EVFILT_READ @@ -39,7 +39,7 @@ func (p *pollster) AddFD(fd int64, mode int, repeat bool) os.Error { } var events [1]syscall.Kevent_t; ev := &events[0]; - ev.Ident = fd; + ev.Ident = uint64(fd); ev.Filter = kmode; // EV_ADD - add event to kqueue list @@ -55,16 +55,16 @@ func (p *pollster) AddFD(fd int64, mode int, repeat bool) os.Error { if e != 0 { return os.ErrnoToError(e) } - if n != 1 || (ev.Flags & syscall.EV_ERROR) == 0 || ev.Ident != fd || ev.Filter != kmode { + if n != 1 || (ev.Flags & syscall.EV_ERROR) == 0 || ev.Ident != uint64(fd) || ev.Filter != kmode { return kqueuePhaseError } if ev.Data != 0 { - return os.ErrnoToError(ev.Data) + return os.ErrnoToError(int(ev.Data)) } return nil } -func (p *pollster) DelFD(fd int64, mode int) { +func (p *pollster) DelFD(fd int, mode int) { var kmode int16; if mode == 'r' { kmode = syscall.EVFILT_READ @@ -73,7 +73,7 @@ func (p *pollster) DelFD(fd int64, mode int) { } var events [1]syscall.Kevent_t; ev := &events[0]; - ev.Ident = fd; + ev.Ident = uint64(fd); ev.Filter = kmode; // EV_DELETE - delete event from kqueue list @@ -83,7 +83,7 @@ func (p *pollster) DelFD(fd int64, mode int) { syscall.Kevent(p.kq, &events, &events, nil); } -func (p *pollster) WaitFD(nsec int64) (fd int64, mode int, err os.Error) { +func (p *pollster) WaitFD(nsec int64) (fd int, mode int, err os.Error) { var t *syscall.Timespec; for len(p.events) == 0 { if nsec > 0 { @@ -91,7 +91,8 @@ func (p *pollster) WaitFD(nsec int64) (fd int64, mode int, err os.Error) { t = new(syscall.Timespec); } t.Sec = nsec / 1e9; - t.Nsec = uint64(nsec % 1e9); + t.Nsec = int64(nsec % 1e9); +// *t = syscall.NsecToTimespec(nsec); } nn, e := syscall.Kevent(p.kq, nil, &p.eventbuf, t); if e != 0 { @@ -107,7 +108,7 @@ func (p *pollster) WaitFD(nsec int64) (fd int64, mode int, err os.Error) { } ev := &p.events[0]; p.events = p.events[1:len(p.events)]; - fd = ev.Ident; + fd = int(ev.Ident); if ev.Filter == syscall.EVFILT_READ { mode = 'r' } else { @@ -117,6 +118,5 @@ func (p *pollster) WaitFD(nsec int64) (fd int64, mode int, err os.Error) { } func (p *pollster) Close() os.Error { - r, e := syscall.Close(p.kq); - return os.ErrnoToError(e) + return os.ErrnoToError(syscall.Close(p.kq)) } |