From 40c574faf71288d88137932b4a4edb82baae70b1 Mon Sep 17 00:00:00 2001 From: eleksir Date: Sun, 12 Nov 2023 10:36:08 +0300 Subject: [PATCH] Do not use defer, notify gTomb before closing goroutines. Explicitly. --- lib.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib.go b/lib.go index 273e782..949e1b6 100644 --- a/lib.go +++ b/lib.go @@ -413,11 +413,10 @@ func joinMuc(room string) { // probeServerLiveness проверяет живость соединения с сервером. Для многих серверов обязательная штука, без которой // они выкидывают клиента через некоторое время неактивности. func probeServerLiveness() { //nolint:gocognit - defer gTomb.Done() - for { select { case <-gTomb.Dying(): + gTomb.Done() return default: @@ -525,6 +524,7 @@ func probeMUCLiveness() { //nolint:gocognit for { select { case <-gTomb.Dying(): + gTomb.Done() return default: @@ -591,11 +591,10 @@ func probeMUCLiveness() { //nolint:gocognit // RotateStatus периодически изменяет статус бота в MUC-е согласно настройкам из кофига. func RotateStatus(room string) { - defer gTomb.Done() - for { select { case <-gTomb.Dying(): + gTomb.Done() return default: