From 0e3bebc26309519aae8aaf4d531abe1d39fdf7e3 Mon Sep 17 00:00:00 2001 From: Miran Date: Mon, 30 Sep 2024 09:53:50 +0200 Subject: [PATCH 1/2] Fix deadlock inside BASS library finalization. --- cleo_plugins/Audio/CSoundSystem.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cleo_plugins/Audio/CSoundSystem.cpp b/cleo_plugins/Audio/CSoundSystem.cpp index 906babf6..9210285c 100644 --- a/cleo_plugins/Audio/CSoundSystem.cpp +++ b/cleo_plugins/Audio/CSoundSystem.cpp @@ -4,6 +4,7 @@ #include "CLEO_Utils.h" #include "CAEAudioHardware.h" #include "CCamera.h" +#include namespace CLEO { @@ -52,7 +53,7 @@ namespace CLEO if (initialized) { TRACE("Freeing BASS library"); - BASS_Free(); + std::thread(BASS_Free); initialized = false; } TRACE("SoundSystem finalized"); From 48535312c562b9e5938c98c705349eb4ca99b72a Mon Sep 17 00:00:00 2001 From: Miran Date: Sat, 5 Oct 2024 12:36:38 +0200 Subject: [PATCH 2/2] fixup! Fix deadlock inside BASS library finalization. --- cleo_plugins/Audio/CSoundSystem.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cleo_plugins/Audio/CSoundSystem.cpp b/cleo_plugins/Audio/CSoundSystem.cpp index 9210285c..8c7171f7 100644 --- a/cleo_plugins/Audio/CSoundSystem.cpp +++ b/cleo_plugins/Audio/CSoundSystem.cpp @@ -4,7 +4,6 @@ #include "CLEO_Utils.h" #include "CAEAudioHardware.h" #include "CCamera.h" -#include namespace CLEO { @@ -52,8 +51,8 @@ namespace CLEO if (initialized) { - TRACE("Freeing BASS library"); - std::thread(BASS_Free); + //TRACE("Freeing BASS library"); + //std::thread(BASS_Free); // causes deadlock with ModLoader initialized = false; } TRACE("SoundSystem finalized");