mirror of https://github.com/golang/go.git
net: fix close of Listener
Fixes #1375. R=rsc, r CC=golang-dev https://golang.org/cl/3731048
This commit is contained in:
parent
bf453eba90
commit
ed1cbca81f
|
|
@ -567,6 +567,10 @@ func (fd *netFD) accept(toAddr func(syscall.Sockaddr) Addr) (nfd *netFD, err os.
|
||||||
var s, e int
|
var s, e int
|
||||||
var sa syscall.Sockaddr
|
var sa syscall.Sockaddr
|
||||||
for {
|
for {
|
||||||
|
if fd.closing {
|
||||||
|
syscall.ForkLock.RUnlock()
|
||||||
|
return nil, os.EINVAL
|
||||||
|
}
|
||||||
s, sa, e = syscall.Accept(fd.sysfd)
|
s, sa, e = syscall.Accept(fd.sysfd)
|
||||||
if e != syscall.EAGAIN {
|
if e != syscall.EAGAIN {
|
||||||
break
|
break
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue