From ed1cbca81fcf20bc933a81bb4aa7281b34a96e55 Mon Sep 17 00:00:00 2001 From: Michael Hoisie Date: Tue, 4 Jan 2011 11:55:13 -0500 Subject: [PATCH] net: fix close of Listener Fixes #1375. R=rsc, r CC=golang-dev https://golang.org/cl/3731048 --- src/pkg/net/fd.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pkg/net/fd.go b/src/pkg/net/fd.go index b2e24f5986..5adaf1df3c 100644 --- a/src/pkg/net/fd.go +++ b/src/pkg/net/fd.go @@ -567,6 +567,10 @@ func (fd *netFD) accept(toAddr func(syscall.Sockaddr) Addr) (nfd *netFD, err os. var s, e int var sa syscall.Sockaddr for { + if fd.closing { + syscall.ForkLock.RUnlock() + return nil, os.EINVAL + } s, sa, e = syscall.Accept(fd.sysfd) if e != syscall.EAGAIN { break -- 2.50.0