66 lines
1.2 KiB
Diff
66 lines
1.2 KiB
Diff
|
From 563bf2ff83018bdd03a5159522e1fb2ce6532d47 Mon Sep 17 00:00:00 2001
|
||
|
From: Lennart Poettering <lennart@poettering.net>
|
||
|
Date: Fri, 31 Jul 2009 15:33:52 +0200
|
||
|
Subject: [PATCH 3/4] pulse: unify destruction of snd_pulse_t
|
||
|
|
||
|
---
|
||
|
pulse/pulse.c | 31 ++++++++++++-------------------
|
||
|
1 files changed, 12 insertions(+), 19 deletions(-)
|
||
|
|
||
|
diff --git a/pulse/pulse.c b/pulse/pulse.c
|
||
|
index dd17384..ae66b0c 100644
|
||
|
--- a/pulse/pulse.c
|
||
|
+++ b/pulse/pulse.c
|
||
|
@@ -217,36 +217,29 @@ snd_pulse_t *pulse_new(void)
|
||
|
return p;
|
||
|
|
||
|
fail:
|
||
|
+ pulse_free(p);
|
||
|
+
|
||
|
+ return NULL;
|
||
|
+}
|
||
|
+
|
||
|
+void pulse_free(snd_pulse_t * p)
|
||
|
+{
|
||
|
if (p->mainloop)
|
||
|
pa_threaded_mainloop_stop(p->mainloop);
|
||
|
|
||
|
- if (p->context)
|
||
|
+ if (p->context) {
|
||
|
+ pa_context_disconnect(p->context);
|
||
|
pa_context_unref(p->context);
|
||
|
+ }
|
||
|
|
||
|
if (p->mainloop)
|
||
|
pa_threaded_mainloop_free(p->mainloop);
|
||
|
|
||
|
- if (p->main_fd >= 0)
|
||
|
- close(p->main_fd);
|
||
|
-
|
||
|
if (p->thread_fd >= 0)
|
||
|
close(p->thread_fd);
|
||
|
|
||
|
- free(p);
|
||
|
-
|
||
|
- return NULL;
|
||
|
-}
|
||
|
-
|
||
|
-void pulse_free(snd_pulse_t * p)
|
||
|
-{
|
||
|
- pa_threaded_mainloop_stop(p->mainloop);
|
||
|
-
|
||
|
- pa_context_disconnect(p->context);
|
||
|
- pa_context_unref(p->context);
|
||
|
- pa_threaded_mainloop_free(p->mainloop);
|
||
|
-
|
||
|
- close(p->thread_fd);
|
||
|
- close(p->main_fd);
|
||
|
+ if (p->main_fd >= 0)
|
||
|
+ close(p->main_fd);
|
||
|
|
||
|
free(p);
|
||
|
}
|
||
|
--
|
||
|
1.6.3.3
|
||
|
|