net/http: fix receiver for Server.Shutdown and Server.Close
Change-Id: Ia27ca728bafcf20d001b477787b21d16ae12960d
Reviewed-on: https://go-review.googlesource.com/33552
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/src/net/http/server.go b/src/net/http/server.go
index be76c6a..e8b5c13 100644
--- a/src/net/http/server.go
+++ b/src/net/http/server.go
@@ -2405,14 +2405,14 @@
//
// Close returns any error returned from closing the Server's
// underlying Listener(s).
-func (s *Server) Close() error {
- s.mu.Lock()
- defer s.mu.Unlock()
- s.closeDoneChanLocked()
- err := s.closeListenersLocked()
- for c := range s.activeConn {
+func (srv *Server) Close() error {
+ srv.mu.Lock()
+ defer srv.mu.Unlock()
+ srv.closeDoneChanLocked()
+ err := srv.closeListenersLocked()
+ for c := range srv.activeConn {
c.rwc.Close()
- delete(s.activeConn, c)
+ delete(srv.activeConn, c)
}
return err
}
@@ -2437,19 +2437,19 @@
// connections such as WebSockets. The caller of Shutdown should
// separately notify such long-lived connections of shutdown and wait
// for them to close, if desired.
-func (s *Server) Shutdown(ctx context.Context) error {
- atomic.AddInt32(&s.inShutdown, 1)
- defer atomic.AddInt32(&s.inShutdown, -1)
+func (srv *Server) Shutdown(ctx context.Context) error {
+ atomic.AddInt32(&srv.inShutdown, 1)
+ defer atomic.AddInt32(&srv.inShutdown, -1)
- s.mu.Lock()
- lnerr := s.closeListenersLocked()
- s.closeDoneChanLocked()
- s.mu.Unlock()
+ srv.mu.Lock()
+ lnerr := srv.closeListenersLocked()
+ srv.closeDoneChanLocked()
+ srv.mu.Unlock()
ticker := time.NewTicker(shutdownPollInterval)
defer ticker.Stop()
for {
- if s.closeIdleConns() {
+ if srv.closeIdleConns() {
return lnerr
}
select {