diff options
Diffstat (limited to 'src/net/http/server.go')
| -rw-r--r-- | src/net/http/server.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/net/http/server.go b/src/net/http/server.go index 4f1c73dbdf..58aff08424 100644 --- a/src/net/http/server.go +++ b/src/net/http/server.go @@ -2920,16 +2920,17 @@ func (srv *Server) Serve(l net.Listener) error { } return err } + connCtx := ctx if cc := srv.ConnContext; cc != nil { - ctx = cc(ctx, rw) - if ctx == nil { + connCtx = cc(connCtx, rw) + if connCtx == nil { panic("ConnContext returned nil") } } tempDelay = 0 c := srv.newConn(rw) c.setState(c.rwc, StateNew) // before Serve can return - go c.serve(ctx) + go c.serve(connCtx) } } |
