The Advanced Linux Sound Architecture (ALSA) - library
Find a file
Takashi Iwai fdba9e1bad pcm: Fallback open as the first instance for dmix & co
dmix and other PCM plugins tries to open a secondary stream with
O_APPEND flag when the shmem was already attached by another.
However, when another streams have been already closed after the
shmem check, this open may return the error EBADFD, since the kernel
accepts O_APPEND only for the secondary streams.

This patch adds a workaround for such a case.  It just retries opening
the stream as the first instance (i.e. without O_APPEND flag).
This is basically safe behavior (the kernel takes care of races), even
we may do this even unconditionally.  But it's bad from the
performance POV, so we do it only when really needed.

Reported-by: Lars Lindqvist <lars.lindqvist@yandex.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-04-14 17:39:19 +02:00
alsalisp autotools: update style 2014-02-26 08:16:22 +01:00
aserver coverity fixes 2016-01-12 16:26:58 +01:00
doc topology: doxygen: Add doxygen support for topology core. 2015-07-30 17:10:18 +02:00
include topology: Add support for parsing vendor tuples 2016-04-07 16:57:22 +02:00
m4 Add the attributes.m4 macro file from xine/lscube. 2008-11-21 13:04:19 +01:00
modules sbase: fixed missing free 2014-09-23 09:04:26 +02:00
src pcm: Fallback open as the first instance for dmix & co 2016-04-14 17:39:19 +02:00
test test: audio_time: show report validity and accuracy 2015-07-02 17:02:05 +02:00
utils autotools: update style 2014-02-26 08:16:22 +01:00
.gitignore .gitignore: add test-driver 2015-02-16 20:59:24 +01:00
acinclude.m4 fixed for the recent autoconf. 2004-01-26 15:52:17 +00:00
ChangeLog * update to libtool 1.3.3 1999-07-22 12:18:42 +00:00
configure.ac Release v1.1.1 2016-03-31 15:10:39 +02:00
COPYING Updated GNU GPL license (address). 2001-12-30 09:22:54 +00:00
gitcompile Introduce --with-pkgconfdir, add 64-bit defaults to gitcompile 2012-01-20 16:14:44 +01:00
INSTALL doc: fix cross-compiling example 2014-08-25 14:12:38 +02:00
Makefile.am autotools: update style 2014-02-26 08:16:22 +01:00
MEMORY-LEAK Initial version 2003-02-04 14:56:07 +00:00
NOTES Change assert condition in error message handler 2007-10-24 12:53:08 +02:00
TODO Added snd_config_load_override(). 2002-01-09 21:28:15 +00:00