regression: libesd0 fails to handle case where sound daemon is not running

Bug #1096816 reported by Erik Devriendt
6
This bug affects 1 person
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|POLLOUT|POLLERR|POLLHUP but the code only tests on POLLIN and POLLOUT and then decides in error that the connection was succesfull and the function returns 0.

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).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.