Re: EBADFD caused by commit dec428c352217010e4b8bd750d302b8062339d32

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Den 2016-04-12 skrev Takashi Iwai:
> Actually we have a semaphore before shm access, so the race at two
> opens shouldn't happen.  I noticed it after I sent my previous mail.
> 
> But the semaphore is taken also at snd_pcm_dmix_close().  So I wonder
> where the race actually happens.  Both open and close must be
> protected while another stream is opening or closing.
> 
> Could you try to check where you get the exact error...?

The execution tree, as far as I can find is the following:

snd_pcm_dmix_open:
 * Line 1009 snd_pcm_direct_shm_create_or_connect with the code in question,
 * which returns 0. So we end up in line 1058, dmix->shmtr->use_server is 0,
 * so go to line 1072.. running:
snd_pcm_open_slave, running:
snd_pcm_open_named_slave, running:
snd_pcm_open_conf
 * where snd_dlobj_cache_get gives open_func = snd_pcm_hw_open, so
snd_pcm_hw_open()
snd_open_device("/dev/snd/pcmC0D0p")
 * where open() returns -1 with errno = EBADFD

Regards,
Lars
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux