Skip to content

Commit 538b32d

Browse files
committed
feat: kill webserver if not shut down within 15 seconds
1 parent 132bc44 commit 538b32d

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

internal/web/server.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package web
22

33
import (
4+
"context"
45
"crypto/tls"
56
"fmt"
67
"io"
@@ -303,7 +304,12 @@ func (ws *WebServer) Start() {
303304

304305
func (ws *WebServer) Stop() {
305306
log.Println("Stopping webserver...")
306-
if err := ws.server.Shutdown(nil); err != nil {
307+
308+
// If the server did not stop within 15 seconds, forcefully close it
309+
ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second)
310+
defer cancel()
311+
312+
if err := ws.server.Shutdown(ctx); err != nil {
307313
log.Fatal("Error while stopping webserver: ", err)
308314
}
309315
}

0 commit comments

Comments
 (0)