[alsa-devel] [PATCH] Set CLOEXEC flag for pipes in PulseAudio plugins

Takashi Iwai tiwai at suse.de
Tue Sep 27 09:54:45 CEST 2011


At Mon, 26 Sep 2011 17:09:24 +0100,
Chris Rankin wrote:
> 
> Hi,
> 
> I have noticed that Alsa / PulseAudio are leaking a couple of pipes after a 
> fork/exec, and have traced the leak to the following two plugins:
> 
> libasound_module_ctl_pulse.so
> libasound_module_pcm_pulse.so
> 
> This is with Fedora 15. I have attached a patch for the problem.

Thanks, applied now.


Takashi

> 
> Cheers,
> Chris
> [2 ALSA-PULSE-CLOEXEC.diff <text/x-patch (7bit)>]
> --- alsa-plugins-1.0.24.orig/pulse/pulse.c	2011-01-26 11:05:44.000000000 +0000
> +++ alsa-plugins-1.0.24/pulse/pulse.c	2011-09-26 16:49:43.000000000 +0100
> @@ -114,6 +114,10 @@
>  	return fcntl(fd, F_SETFL, fl | O_NONBLOCK);
>  }
>  
> +static int make_close_on_exec(int fd) {
> +    return fcntl(fd, F_SETFD, FD_CLOEXEC);
> +}
> +
>  snd_pulse_t *pulse_new(void)
>  {
>  	snd_pulse_t *p;
> @@ -134,7 +138,9 @@
>  	p->thread_fd = fd[1];
>  
>  	make_nonblock(p->main_fd);
> +	make_close_on_exec(p->main_fd);
>  	make_nonblock(p->thread_fd);
> +	make_close_on_exec(p->thread_fd);
>  
>  	p->mainloop = pa_threaded_mainloop_new();
>  	if (!p->mainloop)
> [3  <text/plain; us-ascii (7bit)>]
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


More information about the Alsa-devel mailing list