diff options
author | Samuele Panzeri <samuele.panzeri@gmail.com> | 2023-04-27 18:34:30 +0200 |
---|---|---|
committer | Samuele Panzeri <samuele.panzeri@gmail.com> | 2023-04-27 20:28:22 +0200 |
commit | 4aaa2e6477c2536d55003f58a50b01a74b4af5e5 (patch) | |
tree | 7eba64423370776fa9dab607246b371217ae4f24 /drivers | |
parent | 240ed28291ae87f06f7bcaa66e3d08530f210bf2 (diff) | |
download | redot-engine-4aaa2e6477c2536d55003f58a50b01a74b4af5e5.tar.gz |
Fix wait for thread not started
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/alsa/audio_driver_alsa.cpp | 4 | ||||
-rw-r--r-- | drivers/alsamidi/midi_driver_alsamidi.cpp | 4 | ||||
-rw-r--r-- | drivers/pulseaudio/audio_driver_pulseaudio.cpp | 4 | ||||
-rw-r--r-- | drivers/wasapi/audio_driver_wasapi.cpp | 4 | ||||
-rw-r--r-- | drivers/xaudio2/audio_driver_xaudio2.cpp | 4 |
5 files changed, 15 insertions, 5 deletions
diff --git a/drivers/alsa/audio_driver_alsa.cpp b/drivers/alsa/audio_driver_alsa.cpp index e6e3af0928..966137920a 100644 --- a/drivers/alsa/audio_driver_alsa.cpp +++ b/drivers/alsa/audio_driver_alsa.cpp @@ -339,7 +339,9 @@ void AudioDriverALSA::finish_output_device() { void AudioDriverALSA::finish() { exit_thread.set(); - thread.wait_to_finish(); + if (thread.is_started()) { + thread.wait_to_finish(); + } finish_output_device(); } diff --git a/drivers/alsamidi/midi_driver_alsamidi.cpp b/drivers/alsamidi/midi_driver_alsamidi.cpp index 81472fe70c..6b35987f70 100644 --- a/drivers/alsamidi/midi_driver_alsamidi.cpp +++ b/drivers/alsamidi/midi_driver_alsamidi.cpp @@ -207,7 +207,9 @@ Error MIDIDriverALSAMidi::open() { void MIDIDriverALSAMidi::close() { exit_thread.set(); - thread.wait_to_finish(); + if (thread.is_started()) { + thread.wait_to_finish(); + } for (int i = 0; i < connected_inputs.size(); i++) { snd_rawmidi_t *midi_in = connected_inputs[i].rawmidi_ptr; diff --git a/drivers/pulseaudio/audio_driver_pulseaudio.cpp b/drivers/pulseaudio/audio_driver_pulseaudio.cpp index 88fda35a3b..3114be9163 100644 --- a/drivers/pulseaudio/audio_driver_pulseaudio.cpp +++ b/drivers/pulseaudio/audio_driver_pulseaudio.cpp @@ -676,7 +676,9 @@ void AudioDriverPulseAudio::finish() { } exit_thread.set(); - thread.wait_to_finish(); + if (thread.is_started()) { + thread.wait_to_finish(); + } finish_output_device(); diff --git a/drivers/wasapi/audio_driver_wasapi.cpp b/drivers/wasapi/audio_driver_wasapi.cpp index 7d11293f9b..f877f78665 100644 --- a/drivers/wasapi/audio_driver_wasapi.cpp +++ b/drivers/wasapi/audio_driver_wasapi.cpp @@ -930,7 +930,9 @@ void AudioDriverWASAPI::unlock() { void AudioDriverWASAPI::finish() { exit_thread.set(); - thread.wait_to_finish(); + if (thread.is_started()) { + thread.wait_to_finish(); + } finish_input_device(); finish_output_device(); diff --git a/drivers/xaudio2/audio_driver_xaudio2.cpp b/drivers/xaudio2/audio_driver_xaudio2.cpp index 2b5f593a07..22063c52d9 100644 --- a/drivers/xaudio2/audio_driver_xaudio2.cpp +++ b/drivers/xaudio2/audio_driver_xaudio2.cpp @@ -151,7 +151,9 @@ void AudioDriverXAudio2::unlock() { void AudioDriverXAudio2::finish() { exit_thread.set(); - thread.wait_to_finish(); + if (thread.is_started()) { + thread.wait_to_finish(); + } if (source_voice) { source_voice->Stop(0); |