summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/tylerb/graceful/graceful.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/tylerb/graceful/graceful.go')
-rw-r--r--vendor/github.com/tylerb/graceful/graceful.go12
1 files changed, 8 insertions, 4 deletions
diff --git a/vendor/github.com/tylerb/graceful/graceful.go b/vendor/github.com/tylerb/graceful/graceful.go
index 07c990489..d6a9ca068 100644
--- a/vendor/github.com/tylerb/graceful/graceful.go
+++ b/vendor/github.com/tylerb/graceful/graceful.go
@@ -172,10 +172,12 @@ func (srv *Server) ListenTLS(certFile, keyFile string) (net.Listener, error) {
}
var err error
- config.Certificates = make([]tls.Certificate, 1)
- config.Certificates[0], err = tls.LoadX509KeyPair(certFile, keyFile)
- if err != nil {
- return nil, err
+ if certFile != "" && keyFile != "" {
+ config.Certificates = make([]tls.Certificate, 1)
+ config.Certificates[0], err = tls.LoadX509KeyPair(certFile, keyFile)
+ if err != nil {
+ return nil, err
+ }
}
// Enable http2
@@ -455,6 +457,8 @@ func (srv *Server) shutdown(shutdown chan chan struct{}, kill chan struct{}) {
done := make(chan struct{})
shutdown <- done
+ srv.stopLock.Lock()
+ defer srv.stopLock.Unlock()
if srv.Timeout > 0 {
select {
case <-done: