At Fri, 15 May 2009 15:57:49 +0200 (CEST), Marek Peca wrote:
I would like to know, how should snd_pcm_drop() call influence snd_pcm_writei() being simultaneously executed.
I expected, that after issuing snd_pcm_drop() (from another thread), the snd_pcm_write*() in progress should be terminated almost immediately with some return value (error or short write). (..)
Today, Jara Kysela told me, that calling pcm functions from multiple threads is not recommended practice.
This explains the problems I encountered. I missed the information, that these functions are not meant to be thread-safe.
Although it's not recommended, the behavior you described sounds strange. Could you check whether this still happens with the very latest alsa-lib version? Also I guess this depends on the plugin to be used, e.g. dmix or not.
Takashi