Avoid goroutine leak in server
This commit is contained in:
parent
e4bb506ace
commit
74ace58ae1
4 changed files with 23 additions and 15 deletions
|
@ -13,21 +13,25 @@ func (s *Server) configureSignals() {
|
|||
signal.Notify(s.signals, syscall.SIGUSR1)
|
||||
}
|
||||
|
||||
func (s *Server) listenSignals() {
|
||||
func (s *Server) listenSignals(stop chan bool) {
|
||||
for {
|
||||
sig := <-s.signals
|
||||
switch sig {
|
||||
case syscall.SIGUSR1:
|
||||
log.Infof("Closing and re-opening log files for rotation: %+v", sig)
|
||||
select {
|
||||
case <-stop:
|
||||
return
|
||||
case sig := <-s.signals:
|
||||
switch sig {
|
||||
case syscall.SIGUSR1:
|
||||
log.Infof("Closing and re-opening log files for rotation: %+v", sig)
|
||||
|
||||
if s.accessLoggerMiddleware != nil {
|
||||
if err := s.accessLoggerMiddleware.Rotate(); err != nil {
|
||||
log.Errorf("Error rotating access log: %v", err)
|
||||
if s.accessLoggerMiddleware != nil {
|
||||
if err := s.accessLoggerMiddleware.Rotate(); err != nil {
|
||||
log.Errorf("Error rotating access log: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if err := log.RotateFile(); err != nil {
|
||||
log.Errorf("Error rotating traefik log: %v", err)
|
||||
if err := log.RotateFile(); err != nil {
|
||||
log.Errorf("Error rotating traefik log: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue