From: Clément Chigot Date: Wed, 30 Oct 2019 12:56:12 +0000 (+0100) Subject: runtime: fix netpollBreak for AIX X-Git-Tag: go1.14beta1~497 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=301bc66a478198f0edfb5526d84f1d0c8a3d5c05;p=gostls13.git runtime: fix netpollBreak for AIX Change-Id: I2629711ce02d935130fb2aab29f9028b62ba9fe6 Reviewed-on: https://go-review.googlesource.com/c/go/+/204318 Run-TryBot: Ian Lance Taylor Reviewed-by: Ian Lance Taylor --- diff --git a/src/runtime/netpoll_aix.go b/src/runtime/netpoll_aix.go index e1512f826c..76ee876771 100644 --- a/src/runtime/netpoll_aix.go +++ b/src/runtime/netpoll_aix.go @@ -185,13 +185,12 @@ retry: for read(rdwake, unsafe.Pointer(&b[0]), 1) == 1 { } } - // Do not look at the other fds in this case as the mode may have changed - // XXX only additions of flags are made, so maybe it is ok - unlock(&mtxset) - goto retry + // Still look at the other fds even if the mode may have + // changed, as netpollBreak might have been called. + n-- } var toRun gList - for i := 0; i < len(pfds) && n > 0; i++ { + for i := 1; i < len(pfds) && n > 0; i++ { pfd := &pfds[i] var mode int32