From 508a981dc34e7f7f0fbb9aff9c4285fd8bac2998 Mon Sep 17 00:00:00 2001 From: Andreas Grois Date: Sun, 2 May 2021 19:42:03 +0200 Subject: Properly quit pulse main function. Not that it'd matter. All that this cleanup does is set the return value... Apart from that, it's just like nuking the main loop by calling free... --- pulse/src/runnable/pulse.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pulse/src/runnable/pulse.rs b/pulse/src/runnable/pulse.rs index a28c073..86819a9 100644 --- a/pulse/src/runnable/pulse.rs +++ b/pulse/src/runnable/pulse.rs @@ -122,7 +122,10 @@ impl PulseMainLoop { impl Drop for PulseMainLoop { fn drop(&mut self) { if !self.main_loop.is_null() { - unsafe { pa_mainloop_free(self.main_loop); } + unsafe { + pa_mainloop_quit(self.main_loop, 0); + pa_mainloop_free(self.main_loop); + } } self.main_loop = std::ptr::null_mut(); } @@ -139,6 +142,7 @@ impl Drop for PulseMainLoop { extern { fn pa_mainloop_new() -> *mut PaMainloop; fn pa_mainloop_wakeup(_ : *mut PaMainloop); + fn pa_mainloop_quit(_ : *mut PaMainloop, retval : c_int); fn pa_mainloop_free(_ : *mut PaMainloop); fn pa_mainloop_get_api(_ : *mut PaMainloop) -> *mut PaMainloopApi; -- cgit v1.2.3