| diff -aruN alsa-lib-1.0.27.2/src/pcm/pcm_dmix.c alsa-lib-1.0.27.2.N/src/pcm/pcm_dmix.c |
| --- alsa-lib-1.0.27.2/src/pcm/pcm_dmix.c 2017-08-14 10:28:26.855071601 -0700 |
| +++ alsa-lib-1.0.27.2.N/src/pcm/pcm_dmix.c 2017-08-14 10:36:01.205629277 -0700 |
| @@ -769,6 +769,7 @@ |
| static int snd_pcm_dmix_close(snd_pcm_t *pcm) |
| { |
| snd_pcm_direct_t *dmix = pcm->private_data; |
| + SNDERR("Closing instance %x", pcm); |
| |
| if (dmix->timer) |
| snd_timer_close(dmix->timer); |
| @@ -787,6 +788,7 @@ |
| free(dmix->bindings); |
| pcm->private_data = NULL; |
| free(dmix); |
| + SNDERR("Closed instance %x", pcm); |
| return 0; |
| } |
| |
| @@ -1017,6 +1019,7 @@ |
| if (first_instance) { |
| /* recursion is already checked in |
| snd_pcm_direct_get_slave_ipc_offset() */ |
| + SNDERR("Opening first instance"); |
| ret = snd_pcm_open_slave(&spcm, root, sconf, stream, |
| mode | SND_PCM_NONBLOCK, NULL); |
| if (ret < 0) { |
| @@ -1050,6 +1053,7 @@ |
| |
| dmix->shmptr->type = spcm->type; |
| } else { |
| + SNDERR("Opening non-first instance"); |
| if (dmix->shmptr->use_server) { |
| /* up semaphore to avoid deadlock */ |
| snd_pcm_direct_semaphore_up(dmix, DIRECT_IPC_SEM_CLIENT); |
| @@ -1123,6 +1127,7 @@ |
| snd_pcm_direct_semaphore_up(dmix, DIRECT_IPC_SEM_CLIENT); |
| |
| *pcmp = pcm; |
| + SNDERR("Opened instance %x", pcm); |
| return 0; |
| |
| _err: |