diff options
Diffstat (limited to 'pulse')
| -rw-r--r-- | pulse/src/runnable/pulse.rs | 6 |
1 files changed, 5 insertions, 1 deletions
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; |
