Fri, 13 Jun 2014 Jaroslav Kysela wrote:
First patch fixes snd_pcm_write_areas() stuck in a loop because of transfer func() always returning 0. That caused application calling it to freeze. In the example above it have frozen aplay. If it was called by firefox, it would freeze firefox.
Is it a good way to fix it? Should snd_pcm_read_areas() be fixed like that too?
Nope: The whole culprit was in the null plugin - the stream was not started, thus new samples were not delivered.
I tried to fix this in:
http://git.alsa-project.org/?p=alsa-lib.git;a=commit;h=9c3086fb749cd5545be3f...
Second patch fixes aplay itself, not returning from pcm_write() after SIGINT.
Thanks, looks good, but I added the in_aborting check to other functions, too:
http://git.alsa-project.org/?p=alsa-utils.git;a=commit;h=c06dbf077459923066c...
It works great. Thank you!
PS: What do you think about that small aplay patch?: http://mailman.alsa-project.org/pipermail/alsa-devel/2014-June/077665.html aplay -vvv output looks weird without it.