Critical ESD/Enlightenment bug

If any audio application blocks /dev/dsp, and sounds are enabled in the
enlightenment window manager, then window manager operations will block
until the audio application completes.

This was verified using the following versions of enlightenment and esound:

Enlightenment Version: 0.16.3
Last updated on: $Date: 1999/11/22 18:06:15 $

esound 0.2.14

This particular bug can easily seen by enabling audio in enlightenment,
playing any SDL game and then sliding the gnome bar back and forth.
The second and subsequent slide operations will block until the game
is ended.

This behavior occurs even when using audio drivers that support multiple
concurrent opens of the audio device. This is because esd does not open
/dev/dsp using the O_NONBLOCK flag, which would trigger simultaneous mixing
in newer Linux audio drivers.

This problem affects all games and multimedia applications that directly
access /dev/dsp.

As a temporary workaround for SDL applications, you can set the environment
variable “SDL_AUDIODRIVER” to “esd” to force using esd in all situations.
This will result in much higher latency (slower response) from multimedia
applications, but is a temporary solution.

Please fix esd and enlightenment as soon as possible so they do not block
when opening and playing audio.

Thanks!
-Sam Lantinga (slouken at devolution.com)

Lead Programmer, Loki Entertainment Software–
“Any sufficiently advanced bug is indistinguishable from a feature”
– Rich Kulawiec