]> git.alsa-project.org Git - alsa-lib.git/commit
pcm: Fix secondary retry in dsnoop and dshare
authorTakashi Iwai <tiwai@suse.de>
Sat, 28 May 2016 08:37:26 +0000 (10:37 +0200)
committerTakashi Iwai <tiwai@suse.de>
Sat, 28 May 2016 08:37:26 +0000 (10:37 +0200)
commit2fa36eb03c000560128f7abce701536546b4a618
tree6ad32dff7ff2ce07e8c477f6cc1b9bff60d671cd
parentd942498bfbd315c4c4559ccd573685e09aa03383
pcm: Fix secondary retry in dsnoop and dshare

The commit [fdba9e1bad8f: pcm: Fallback open as the first instance for
dmix & co] introduced a mechanism to retry the open of slave PCM for
the secondary streams, but this also introduced a regression in dsnoop
and dshare plugins: since the retry goto-tag was placed at a wrong
position, it retries to re-fetch the shm unnecessarily and eventually
leads to the fatal error.

The bug can be easily reproduced by starting arecord and killing it
via SIGKILL, then starting arecord again.  The second arecord fails.

The fix is obviously to move the wrong retry goto-tags to the right
positions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/pcm/pcm_dshare.c
src/pcm/pcm_dsnoop.c