regression: libesd0 fails to handle case where sound daemon is not running
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
esound (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
In version 0.2.41: In esdlib.c : function connect_timeout():
If no sound daemon (esd or pulseaudio with esound-compat) is running, the function will not return -1 (meaning that
the connection failed).
The reason: connect() on a non-blocking socket always returns EINPROGRESS even if the destination is not present.
The subsequent poll() call returns in revents: POLLIN|
This causes the library to not read the ~/.esd.conf . It then fails to honor the autospawn entry in that config file.
This problem becomes apparent when runnng graphical sessions with simple window managers such as fvwm2.
This window manager does not start pulseaudio automatically.
This problem was not present in version 0.2.38 of the library (in Ubuntu Hardy).