From: Brad Fitzpatrick Date: Fri, 3 Jul 2015 19:32:40 +0000 (-0700) Subject: net/http/fcgi: fix race between serveRequest and cleanUp X-Git-Tag: go1.5beta2~98 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f96fa06d14dfb41d987ae5372084e593ac535b13;p=gostls13.git net/http/fcgi: fix race between serveRequest and cleanUp Fixes #11552 Change-Id: I87904e9e3fb4bd1fb4c7075a4e2d0151e5bd37df Reviewed-on: https://go-review.googlesource.com/11890 Run-TryBot: Brad Fitzpatrick Reviewed-by: Mikio Hara Reviewed-by: David Crawshaw --- diff --git a/src/net/http/fcgi/child.go b/src/net/http/fcgi/child.go index aba71cd5c1..da824ed717 100644 --- a/src/net/http/fcgi/child.go +++ b/src/net/http/fcgi/child.go @@ -289,6 +289,8 @@ func (c *child) serveRequest(req *request, body io.ReadCloser) { } func (c *child) cleanUp() { + c.mu.Lock() + defer c.mu.Unlock() for _, req := range c.requests { if req.pw != nil { // race with call to Close in c.serveRequest doesn't matter because