diff options
| author | Lennart Poettering <mznyfn@0pointer.de> | 2009-07-31 16:02:05 +0200 | 
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2009-08-03 12:36:14 +0200 | 
| commit | 422958fa4b8101af842220a67e77c8090ad34a8b (patch) | |
| tree | c826b2ceca95370ad4ef5f27fbefae6de1cd08d0 | |
| parent | d2ea09f162f114480516a9d993d3d71bf357c835 (diff) | |
pulse: unify destruction of snd_pulse_t
Signed-off-by: Takashi Iwai <tiwai@suse.de>
| -rw-r--r-- | 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);  }  | 
