[ ... ]
Nothing to do with O_NONBLOCK:
$ strace -f -e trace=file firefox 2>&1 | grep dev/snd
[pid 1889] ....
[pid 1889] open("/dev/snd/pcmC0D0p", O_RDWR|O_NONBLOCK) = 38
[pid 1889] open("/dev/snd/controlC0", O_RDONLY) = 37
[pid 1889] open("/dev/snd/timer", O_RDONLY|O_NONBLOCK) = 37
$ strace -f -e trace=file ogg123 foo.ogg 2>&1 | grep dev/snd
[pid 1916] ...
[pid 1916] open("/dev/snd/pcmC0D0p", O_RDWR|O_NONBLOCK|O_APPEND) = 5
[pid 1916] open("/dev/snd/controlC0", O_RDONLY) = 4
[pid 1916] open("/dev/snd/timer", O_RDONLY|O_NONBLOCK) = 4
And both the youtube video (flash 9) and my ogg file play fine. Now, I don't
actually know about that O_ASYNC thing you have in there but it looks as
though you're simply not using dmix. Which card, and if you specify an ALSA
device somewhere, is it the "default" device?
And fix your inbound mailer -- it's rejecting my posts.
Rene.
-