mixer/alsa: use BlockingCall() instead of EventLoop::AddCall()

This is safer, and works without epoll().  Fixes a build failure with
uClibc, which does not support epoll().
This commit is contained in:
Max Kellermann 2013-12-13 14:35:36 +01:00
parent db4ae19246
commit 8e38b4f83c
2 changed files with 4 additions and 1 deletions

2
NEWS
View File

@ -4,6 +4,8 @@ ver 0.18.6 (not yet released)
* output * output
- openal: fix build failure on Mac OS X - openal: fix build failure on Mac OS X
- osx: fix build failure - osx: fix build failure
* mixer
- alsa: fix build failure with uClibc
* accept files without metadata * accept files without metadata
ver 0.18.5 (2013/11/23) ver 0.18.5 (2013/11/23)

View File

@ -24,6 +24,7 @@
#include "Main.hxx" #include "Main.hxx"
#include "event/MultiSocketMonitor.hxx" #include "event/MultiSocketMonitor.hxx"
#include "event/Loop.hxx" #include "event/Loop.hxx"
#include "event/Call.hxx"
#include "util/ASCII.hxx" #include "util/ASCII.hxx"
#include "util/ReusableArray.hxx" #include "util/ReusableArray.hxx"
#include "util/Error.hxx" #include "util/Error.hxx"
@ -46,7 +47,7 @@ class AlsaMixerMonitor final : private MultiSocketMonitor {
public: public:
AlsaMixerMonitor(EventLoop &_loop, snd_mixer_t *_mixer) AlsaMixerMonitor(EventLoop &_loop, snd_mixer_t *_mixer)
:MultiSocketMonitor(_loop), mixer(_mixer) { :MultiSocketMonitor(_loop), mixer(_mixer) {
_loop.AddCall([this](){ InvalidateSockets(); }); BlockingCall(_loop, [this](){ InvalidateSockets(); });
} }
private: private: