Kill myLoop in more obvious way, explicitly use .Close on any connection before exit myLoop()

This commit is contained in:
eleksir
2023-10-21 10:58:05 +03:00
parent a9935abf53
commit 07da3e5a49

View File

@@ -117,17 +117,20 @@ func main() {
myLoop() myLoop()
log.Error(gTomb.Wait()) log.Error(gTomb.Wait())
// Если у нас wire error, то вызов .Close() повлечёт за собой ошибку, но мы вынуждены звать .Close(), чтоб
// закрыть tls контекст и почистить всё что связанно с прерванным соединением.
_ = talk.Close()
time.Sleep(time.Duration(config.Jabber.ReconnectDelay) * time.Second) time.Sleep(time.Duration(config.Jabber.ReconnectDelay) * time.Second)
} }
} }
func myLoop() { func myLoop() {
defer gTomb.Done()
for { for {
select { select {
case <-gTomb.Dying(): case <-gTomb.Dying():
gTomb.Done()
return return
default: default:
// Зададим начальное значение глобальным переменным // Зададим начальное значение глобальным переменным
serverPingTimestampRx = 0 serverPingTimestampRx = 0