At Wed, 17 Oct 2007 20:55:11 -0400 (EDT), Mike Gorse wrote: > > This patch causes snd_pcm_dmix_close() to up a semaphore after downing it > if it is unable to discard it. It prevents some deadlock that I am > getting when a couple of applications interact and one of them closes the > device and later re-opens it. Thanks, applied to HG tree now. Takashi > > -- > > --- src/pcm/pcm_dmix.c.orig 2007-10-17 20:19:47.000000000 -0400 > +++ src/pcm/pcm_dmix.c 2007-10-17 20:50:46.000000000 -0400 > @@ -652,8 +652,11 @@ > if (dmix->client) > snd_pcm_direct_client_discard(dmix); > shm_sum_discard(dmix); > - if (snd_pcm_direct_shm_discard(dmix)) > - snd_pcm_direct_semaphore_discard(dmix); > + if (snd_pcm_direct_shm_discard(dmix)) { > + if (snd_pcm_direct_semaphore_discard(dmix)) { > + snd_pcm_direct_semaphore_up(dmix, DIRECT_IPC_SEM_CLIENT); > + } > + } > else > snd_pcm_direct_semaphore_up(dmix, DIRECT_IPC_SEM_CLIENT); > free(dmix->bindings); > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@xxxxxxxxxxxxxxxx > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel