avoid zombie connection and goroutine leaked

This commit is contained in:
lesismal 2022-03-12 19:33:17 +08:00
parent 3757142584
commit b6d89bc972

9
gin.go
View File

@ -13,6 +13,7 @@ import (
"path" "path"
"strings" "strings"
"sync" "sync"
"time"
"github.com/gin-gonic/gin/internal/bytesconv" "github.com/gin-gonic/gin/internal/bytesconv"
"github.com/gin-gonic/gin/render" "github.com/gin-gonic/gin/render"
@ -375,7 +376,13 @@ func (engine *Engine) Run(addr ...string) (err error) {
address := resolveAddress(addr) address := resolveAddress(addr)
debugPrint("Listening and serving HTTP on %s\n", address) debugPrint("Listening and serving HTTP on %s\n", address)
err = http.ListenAndServe(address, engine.Handler())
server := &http.Server{
Addr: address,
Handler: engine.Handler(),
ReadTimeout: 60 * time.Second,
}
err = server.ListenAndServe()
return return
} }