net: fix close of Listener

Fixes #1375.

R=rsc, r
CC=golang-dev
https://golang.org/cl/3731048
diff --git a/src/pkg/net/fd.go b/src/pkg/net/fd.go
index b2e24f5..5adaf1d 100644
--- a/src/pkg/net/fd.go
+++ b/src/pkg/net/fd.go
@@ -567,6 +567,10 @@
 	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