Переменная очищает свое значение

Я писал многопоточный сервер для цифровой подписи сообщений и проверки на подлинность, и во время сохранения в переменную значения логина, она автоматически очищается, я так же использовал дебаггер для проверки где именно я ошибся, и даже если я ввожу вручную значение через дебаггер, оно моментально очищается. Полный код сервера на Pastebin: https://pastebin.com/3mv6ppg7, библиотека взята с Хабра https://habr.com/ru/post/503432/, код клиента https://pastebin.com/YMen0PU8

if(isValidCommand(command))
{
    std::string Vlogin,pass;
    Vlogin =parseValidLogin(command);
    pass = parseValidPass(command);
    Valid =  db.Valid(Vlogin,pass);
    if(Valid)
    {
        buffer = VALID +"VALIDATED";
        ThisUsereLogin = Vlogin;
    }
    if(!Valid)
    {
        buffer = VALID+"WRONG_LOGIN_OR_PASSWORD";
    }

}
if(isCreateCommand(command))
{   
    std::string Clogin,pass;
    bool isCanCreate = false;
    Clogin =parseCreateLogin(command);
    pass = parseCreatePass(command);
    isCanCreate = db.AddClient(Clogin, pass);
    
    if(isCanCreate)
    {
        buffer = CREATE+"User_created";
        ThisUsereLogin =Clogin;
    }
    else
    {
        buffer = CREATE+"Login_busy";
    }

Ответы (1 шт):

Автор решения: gbg

Если каждый клиент сидит в своем персональном потоке, проблема состоит в этом:

У вас там map, который называется storage, в который функция AddClient лезет без мьютекса. Да и вообще, мьютекс присутствует только в виде #include<mutex>

→ Ссылка