diff --git a/pkg/dns/dns.go b/pkg/dns/dns.go index 8159135..916d495 100644 --- a/pkg/dns/dns.go +++ b/pkg/dns/dns.go @@ -204,9 +204,9 @@ func (s *Server) Run() { defer func() { if s.Enable { log.Error("DNS Server exited unexpectedly") + s.Enable = false + s.livingLock.Unlock() } - s.Enable = false - s.livingLock.Unlock() }() if err := s.UpdateRules(); err != nil { diff --git a/pkg/ftp/ftp.go b/pkg/ftp/ftp.go index 3e2ddef..f8d5358 100644 --- a/pkg/ftp/ftp.go +++ b/pkg/ftp/ftp.go @@ -359,9 +359,9 @@ func (s *Server) Run() { defer func() { if s.Enable { log.Error("FTP Server exited unexpectedly") + s.Enable = false + s.livingLock.Unlock() } - s.Enable = false - s.livingLock.Unlock() }() if err := s.UpdateRules(); err != nil { diff --git a/pkg/ldap/ldap.go b/pkg/ldap/ldap.go index a9451c0..f68c1b1 100644 --- a/pkg/ldap/ldap.go +++ b/pkg/ldap/ldap.go @@ -156,9 +156,9 @@ func (s *Server) Run() { defer func() { if s.Enable { log.Error("LDAP Server exited unexpectedly") + s.Enable = false + s.livingLock.Unlock() } - s.Enable = false - s.livingLock.Unlock() }() if err := s.UpdateRules(); err != nil { diff --git a/pkg/mysql/mysql.go b/pkg/mysql/mysql.go index f8c47e5..4caba88 100644 --- a/pkg/mysql/mysql.go +++ b/pkg/mysql/mysql.go @@ -284,9 +284,9 @@ func (s *Server) Run() { defer func() { if s.Enable { log.Error("MySQL Server exited unexpectedly") + s.Enable = false + s.livingLock.Unlock() } - s.Enable = false - s.livingLock.Unlock() }() if err := s.UpdateRules(); err != nil { log.Error(err.Error()) diff --git a/pkg/rmi/rmi.go b/pkg/rmi/rmi.go index 6016f79..1436046 100644 --- a/pkg/rmi/rmi.go +++ b/pkg/rmi/rmi.go @@ -165,9 +165,9 @@ func (s *Server) Run() { defer func() { if s.Enable { log.Error("RMI Server exited unexpectedly") + s.Enable = false + s.livingLock.Unlock() } - s.Enable = false - s.livingLock.Unlock() }() if err := s.UpdateRules(); err != nil {