From 516168057e0b2a30bcda024892ed36badb731c00 Mon Sep 17 00:00:00 2001 From: Roger Peppe Date: Tue, 13 Dec 2011 16:34:22 -0500 Subject: [PATCH] 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 --- 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 fa9009517db..56f56cb044d 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 {