[alsa-devel] [PATCH] pcm_hw: Respect LIBASOUND_THREAD_SAFE env var
Takashi Iwai
tiwai at suse.de
Thu Sep 1 08:51:14 CEST 2016
On Thu, 01 Sep 2016 08:06:50 +0200,
David Henningsson wrote:
>
> Without this patch, there no way to revert to the old
> behaviour with pcm_hw, so currently there will always
> be some extra locking.
>
> This seems to be an oversight?
thread_safe=1 means that the plugin needs no locking, so it means hw
PCM never takes a lock by itself. Only other plugins do, and it's
suppressed when $LIBASOUND_THREAD_SAFE=0 is passed.
The flag needs a better description or a better name...
Takashi
> Reported-by: Samuel Thibault <samuel.thibault at ens-lyon.org>
> Signed-off-by: David Henningsson <diwic at ubuntu.com>
> ---
> src/pcm/pcm_hw.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/pcm/pcm_hw.c b/src/pcm/pcm_hw.c
> index 3a5634c..e6a8a4f 100644
> --- a/src/pcm/pcm_hw.c
> +++ b/src/pcm/pcm_hw.c
> @@ -1514,7 +1514,8 @@ int snd_pcm_hw_open_fd(snd_pcm_t **pcmp, const char *name,
> pcm->poll_events = info.stream == SND_PCM_STREAM_PLAYBACK ? POLLOUT : POLLIN;
> pcm->tstamp_type = tstamp_type;
> #ifdef THREAD_SAFE_API
> - pcm->thread_safe = 1;
> + if (pcm->thread_safe != -1)
> + pcm->thread_safe = 1;
> #endif
>
> ret = snd_pcm_hw_mmap_status(pcm);
> --
> 1.9.1
>
More information about the Alsa-devel
mailing list