From: Filippo Valsorda Date: Fri, 17 Feb 2017 16:57:46 +0000 (-0500) Subject: net/http: document Shutdown/Serve return behavior X-Git-Tag: go1.9beta1~508 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3fd976deca62debf355656772d3e9246102f5ad3;p=gostls13.git net/http: document Shutdown/Serve return behavior Change-Id: I9cdf6e7da0fb2d5194426eafa61812ea7a85f52f Reviewed-on: https://go-review.googlesource.com/37161 Reviewed-by: Dan Peterson Reviewed-by: Brad Fitzpatrick --- diff --git a/src/net/http/server.go b/src/net/http/server.go index f8398900c5..f29fa1272c 100644 --- a/src/net/http/server.go +++ b/src/net/http/server.go @@ -2476,7 +2476,12 @@ var shutdownPollInterval = 500 * time.Millisecond // listeners, then closing all idle connections, and then waiting // indefinitely for connections to return to idle and then shut down. // If the provided context expires before the shutdown is complete, -// then the context's error is returned. +// Shutdown returns the context's error, otherwise it returns any +// error returned from closing the Server's underlying Listener(s). +// +// When Shutdown is called, Serve, ListenAndServe, and +// ListenAndServeTLS immediately return ErrServerClosed. Make sure the +// program doesn't exit and waits instead for Shutdown to return. // // Shutdown does not attempt to close nor wait for hijacked // connections such as WebSockets. The caller of Shutdown should