Forráskód Böngészése

d04 Исправления гонок данных

SVI 2 éve
szülő
commit
9ae4f7b327

+ 1 - 1
server/serv_bots/warbot/warbot.go

@@ -157,7 +157,7 @@ func (sf *ВарБот) ЕслиПуск() bool {
 
 // Имя -- возвращает имя бота
 func (sf *ВарБот) Имя() string {
-	return sf.конфиг.Логин_
+	return sf.конфиг.Логин()
 }
 
 // Пароль -- возвращает пароль бота

+ 9 - 0
server/serv_bots/warbot/warbot_config/warbot_config.go

@@ -4,6 +4,7 @@ package warbot_config
 import (
 	"encoding/json"
 	"fmt"
+	"sync"
 )
 
 // ВарБотКонфиг -- конфиг бота для хранения в базе
@@ -11,6 +12,7 @@ type ВарБотКонфиг struct {
 	ЕслиАвтозапуск_ bool   `json:"is_auto_run,omitempty"` // Признак автостарта при загрузке
 	Логин_          string `json:"login"`                 // Логин бота
 	Пароль_         string `json:"password"`              // Пароль бота
+	блок            sync.RWMutex
 }
 
 // Marshall -- сериализует конфиг в JSON
@@ -27,3 +29,10 @@ func (sf *ВарБотКонфиг) Unmarshall(strData string) error {
 	}
 	return nil
 }
+
+// Логин -- возвращает логин
+func (сам *ВарБотКонфиг) Логин() string {
+	сам.блок.RLock()
+	defer сам.блок.RUnlock()
+	return сам.Логин_
+}