Public bug reported:

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

** Affects: esound (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1096816

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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/esound/+bug/1096816/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to