diff options
author | Austin Clements <austin@google.com> | 2018-08-10 00:09:00 -0400 |
---|---|---|
committer | Austin Clements <austin@google.com> | 2018-08-20 18:19:25 +0000 |
commit | de990545c3ce65926491c123bb2536168cd21cf3 (patch) | |
tree | e5966aff4ace34d0a613af885f22c8da394e7d56 /src/runtime/netpoll_kqueue.go | |
parent | 3578918b6614effaeaa581687d810b74e342e0f8 (diff) | |
download | go-de990545c3ce65926491c123bb2536168cd21cf3.tar.gz go-de990545c3ce65926491c123bb2536168cd21cf3.zip |
runtime: use gList in netpoll
netpoll is perhaps one of the most confusing uses of G lists currently
since it passes around many lists as bare *g values right now.
Switching to gList makes it much clearer what's an individual g and
what's a list.
Change-Id: I8d8993c4967c5bae049c7a094aad3a657928ba6c
Reviewed-on: https://go-review.googlesource.com/129397
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
Diffstat (limited to 'src/runtime/netpoll_kqueue.go')
-rw-r--r-- | src/runtime/netpoll_kqueue.go | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/runtime/netpoll_kqueue.go b/src/runtime/netpoll_kqueue.go index 0f73bf385e..fdaa1cd80d 100644 --- a/src/runtime/netpoll_kqueue.go +++ b/src/runtime/netpoll_kqueue.go @@ -59,9 +59,9 @@ func netpollarm(pd *pollDesc, mode int) { // Polls for ready network connections. // Returns list of goroutines that become runnable. -func netpoll(block bool) *g { +func netpoll(block bool) gList { if kq == -1 { - return nil + return gList{} } var tp *timespec var ts timespec @@ -78,7 +78,7 @@ retry: } goto retry } - var gp guintptr + var toRun gList for i := 0; i < int(n); i++ { ev := &events[i] var mode int32 @@ -102,11 +102,11 @@ retry: mode += 'w' } if mode != 0 { - netpollready(&gp, (*pollDesc)(unsafe.Pointer(ev.udata)), mode) + netpollready(&toRun, (*pollDesc)(unsafe.Pointer(ev.udata)), mode) } } - if block && gp == 0 { + if block && toRun.empty() { goto retry } - return gp.ptr() + return toRun } |