[alsa-devel] interrupting snd_pcm_writei or snd_pcm_drain?

Mike Gorse 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 
functions?

Thanks,
-Mike G-


More information about the Alsa-devel mailing list