From 2c6d3eaf78c9314fe49a550e765def95463179e8 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 13 Dec 2011 17:08:18 -0500 Subject: [PATCH] undo CL 5414048 / f6b994f33cf4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit breaks build ««« original CL description http: close connection after printing panic stack trace In a testing situation, it's possible for a local http server to panic and the test exit without the stack trace ever being printed. Fixes #2480. R=rsc, bradfitz CC=golang-dev https://golang.org/cl/5414048 »»» R=bradfitz CC=golang-dev https://golang.org/cl/5482061 --- src/pkg/net/http/server.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pkg/net/http/server.go b/src/pkg/net/http/server.go index 56f56cb044d..fa9009517db 100644 --- a/src/pkg/net/http/server.go +++ b/src/pkg/net/http/server.go @@ -569,14 +569,14 @@ func (c *conn) serve() { if err == nil { return } + if c.rwc != nil { // may be nil if connection hijacked + c.rwc.Close() + } + var buf bytes.Buffer fmt.Fprintf(&buf, "http: panic serving %v: %v\n", c.remoteAddr, err) buf.Write(debug.Stack()) log.Print(buf.String()) - - if c.rwc != nil { // may be nil if connection hijacked - c.rwc.Close() - } }() if tlsConn, ok := c.rwc.(*tls.Conn); ok {