[alsa-devel] [PATCH] alsa-plugins: Fix destruction logic on failed construction

Lennart Poettering mznyfn at 0pointer.de
Thu Sep 25 21:03:01 CEST 2008


Heya!

We need to stop the main loop first, then free the context and finally
free the mainloop.
---
 pulse/pulse.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/pulse/pulse.c b/pulse/pulse.c
index 022ca55..3940238 100644
--- a/pulse/pulse.c
+++ b/pulse/pulse.c
@@ -208,6 +208,12 @@ snd_pulse_t *pulse_new(void)
 
 fail:
 	if (p->mainloop)
+		pa_threaded_mainloop_stop(p->mainloop);
+
+	if (p->context)
+		pa_context_unref(p->context);
+
+	if (p->mainloop)
 		pa_threaded_mainloop_free(p->mainloop);
 
 	if (p->main_fd >= 0)
-- 
1.6.0.1

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net         ICQ# 11060553
http://0pointer.net/lennart/           GnuPG 0x1A015CC4


More information about the Alsa-devel mailing list