[alsa-devel] interrupting snd_pcm_writei or snd_pcm_drain?
mgorse at mgorse.dhs.org
Wed Nov 14 17:34:07 CET 2007
I've noticed that it is unsafe to call snd_pcm_writei or snd_pcm_drain in
a pthread with its cancelation type set to asynchronous.
snd_pcm_dmix_sync_area can lower a semaphore, and, if the thread is
canceled while the semaphore is down, then a subsequent call to the sound
device (calling snd_pcm_close, for instance) will also lower the semaphore
and cause deadlock. Is this a known issue, and is there a way around it
other than to always use deferred cancelation when calling these
More information about the Alsa-devel