16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-19 06:29:18 +02:00

Fix logging crash on exit

This commit is contained in:
2025-04-17 14:35:02 +02:00
parent 173df2ca54
commit f464d16f42
3 changed files with 8 additions and 2 deletions

View File

@@ -142,6 +142,7 @@ struct global_settings {
bool NvRenderer{ false };
bool BasicRenderer{ false };
bool RenderShadows{ true };
bool applicationQuitOrder{false};
int RenderCabShadowsRange{ 0 };
struct shadowtune_t {
unsigned int map_size{ 2048 };

View File

@@ -78,6 +78,8 @@ void LogService()
{
while (true)
{
if (InfoStack.empty() && ErrorStack.empty() && Global.applicationQuitOrder)
break;
// loop for logging
// write logs and log.txt

View File

@@ -224,6 +224,8 @@ void eu07_application::DiscordRPCService()
// run loop
while (!glfwWindowShouldClose(m_windows.front()) && !m_modestack.empty())
{
if (Global.applicationQuitOrder)
break;
// Discord RPC updater
if (simulation::is_ready)
{
@@ -532,8 +534,9 @@ eu07_application::run() {
std::this_thread::sleep_for( Global.minframetime - frametime );
}
}
Global.threads["LogService"].~thread(); // kill log service
Global.threads["DiscordRPC"].~thread(); // kill DiscordRPC service
Global.applicationQuitOrder = true;
Global.threads["LogService"].join(); // kill log service
Global.threads["DiscordRPC"].join(); // kill DiscordRPC service
return 0;
}