mirror of
https://github.com/alireza0/s-ui.git
synced 2026-08-27 04:17:00 +00:00
fix http restart memory leak #1056
This commit is contained in:
parent
11505a5c05
commit
135fcb0cda
2 changed files with 22 additions and 8 deletions
15
sub/sub.go
15
sub/sub.go
|
|
@ -7,6 +7,7 @@ import (
|
|||
"net"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/alireza0/s-ui/config"
|
||||
"github.com/alireza0/s-ui/logger"
|
||||
|
|
@ -133,20 +134,26 @@ func (s *Server) Start() (err error) {
|
|||
}
|
||||
|
||||
func (s *Server) Stop() error {
|
||||
s.cancel()
|
||||
var err error
|
||||
if s.httpServer != nil {
|
||||
err = s.httpServer.Shutdown(s.ctx)
|
||||
shutdownCtx, cancelShutdown := context.WithTimeout(context.Background(), 30*time.Second)
|
||||
err = s.httpServer.Shutdown(shutdownCtx)
|
||||
cancelShutdown()
|
||||
if err != nil {
|
||||
s.cancel()
|
||||
if s.listener != nil {
|
||||
_ = s.listener.Close()
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
if s.listener != nil {
|
||||
} else if s.listener != nil {
|
||||
err = s.listener.Close()
|
||||
if err != nil {
|
||||
s.cancel()
|
||||
return err
|
||||
}
|
||||
}
|
||||
s.cancel()
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
15
web/web.go
15
web/web.go
|
|
@ -11,6 +11,7 @@ import (
|
|||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/alireza0/s-ui/api"
|
||||
"github.com/alireza0/s-ui/config"
|
||||
|
|
@ -200,20 +201,26 @@ func (s *Server) Start() (err error) {
|
|||
}
|
||||
|
||||
func (s *Server) Stop() error {
|
||||
s.cancel()
|
||||
var err error
|
||||
if s.httpServer != nil {
|
||||
err = s.httpServer.Shutdown(s.ctx)
|
||||
shutdownCtx, cancelShutdown := context.WithTimeout(context.Background(), 30*time.Second)
|
||||
err = s.httpServer.Shutdown(shutdownCtx)
|
||||
cancelShutdown()
|
||||
if err != nil {
|
||||
s.cancel()
|
||||
if s.listener != nil {
|
||||
_ = s.listener.Close()
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
if s.listener != nil {
|
||||
} else if s.listener != nil {
|
||||
err = s.listener.Close()
|
||||
if err != nil {
|
||||
s.cancel()
|
||||
return err
|
||||
}
|
||||
}
|
||||
s.cancel()
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue