From 6b6e304cfd9b99371d5e91334b5e4a8844432487 Mon Sep 17 00:00:00 2001 From: Tixx <83774803+WiserTixx@users.noreply.github.com> Date: Fri, 18 Oct 2024 19:23:53 +0200 Subject: [PATCH] Switch to std::async --- src/Network/Core.cpp | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/Network/Core.cpp b/src/Network/Core.cpp index fb4ab71..7b8e568 100644 --- a/src/Network/Core.cpp +++ b/src/Network/Core.cpp @@ -33,6 +33,8 @@ #include #include "Options.h" +#include + extern int TraceBack; std::set* ConfList = nullptr; bool TCPTerminate = false; @@ -115,14 +117,15 @@ void Parse(std::string Data, SOCKET CSocket) { case 'A': Data = Data.substr(0, 1); break; - case 'B': - NetReset(); - Terminate = true; - TCPTerminate = true; - Data.clear(); - std::thread([&]() { - CoreSend("B" + HTTP::Get("https://backend.beammp.com/servers-info")); - }).detach(); + case 'B': { + NetReset(); + Terminate = true; + TCPTerminate = true; + Data.clear(); + auto future = std::async(std::launch::async, []() { + CoreSend("B" + HTTP::Get("https://backend.beammp.com/servers-info")); + }); + } break; case 'C': StartSync(Data); @@ -218,10 +221,10 @@ void Parse(std::string Data, SOCKET CSocket) { } Data = "N" + Auth.dump(); } else { + auto future = std::async(std::launch::async, [data = std::move(Data)]() { + CoreSend("N" + Login(data.substr(data.find(':') + 1))); + }); Data.clear(); - std::thread([&]() { - CoreSend("N" + Login(Data.substr(Data.find(':') + 1))); - }).detach(); } break; case 'W':