170 похожих чатов

Такой вопрос. Есть основной поток с логикой, я хочу часть

логики выполнить асинхронно, т.е. чтобы например ожидание ответа от БД не блокировало основной поток. Я вызываю функцию по указателю, передаю аргументы, но оно крашится. Почему я мудак?
CConsoleCommand* pCommand = GetCommand(szKey);
if (pCommand)
{
// Can this user use this command?
if (m_pACLManager->CanObjectUseRight(pClient->GetAccount()->GetName().c_str(), CAccessControlListGroupObject::OBJECT_TYPE_USER, szKey,
CAccessControlListRight::RIGHT_TYPE_COMMAND, !pCommand->IsRestricted()))
{
std::async(*pCommand, this, szArguments, pClient, pEchoClient);
return true;
}

// Not enough access, tell the console
CLogger::LogPrintf("ACL: Denied '%s' access to command '%s'\n", pClient->GetNick(), szKey);

// Tell the client
char szBuffer[128];
snprintf(szBuffer, sizeof(szBuffer), "ACL: Access denied for '%s'", szKey);
szBuffer[sizeof(szBuffer) - 1] = '\0';

pClient->SendEcho(szBuffer);
return false;
}

5 ответов

22 просмотра
Danylo-S. ✙ Автор вопроса

Рубрика тупые вопросы конечно, но я реально тугодум

А где краш? И еще у тебя std::async синхронный

Danylo-S. ✙ Автор вопроса
Liber Azerate
Разве? Он волен выбирать сам

https://en.cppreference.com/w/cpp/thread/future/~future последнее

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта