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@xxxxxxxxxxxx> > Signed-off-by: David Henningsson <diwic@xxxxxxxxxx> > --- > 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 > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel