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:
		
							
								
								
									
										2
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								NEWS
									
									
									
									
									
								
							| @@ -4,6 +4,8 @@ ver 0.18.6 (not yet released) | ||||
| * output | ||||
|   - openal: fix build failure on Mac OS X | ||||
|   - osx: fix build failure | ||||
| * mixer | ||||
|   - alsa: fix build failure with uClibc | ||||
| * accept files without metadata | ||||
|  | ||||
| ver 0.18.5 (2013/11/23) | ||||
|   | ||||
| @@ -24,6 +24,7 @@ | ||||
| #include "Main.hxx" | ||||
| #include "event/MultiSocketMonitor.hxx" | ||||
| #include "event/Loop.hxx" | ||||
| #include "event/Call.hxx" | ||||
| #include "util/ASCII.hxx" | ||||
| #include "util/ReusableArray.hxx" | ||||
| #include "util/Error.hxx" | ||||
| @@ -46,7 +47,7 @@ class AlsaMixerMonitor final : private MultiSocketMonitor { | ||||
| public: | ||||
| 	AlsaMixerMonitor(EventLoop &_loop, snd_mixer_t *_mixer) | ||||
| 		:MultiSocketMonitor(_loop), mixer(_mixer) { | ||||
| 		_loop.AddCall([this](){ InvalidateSockets(); }); | ||||
| 		BlockingCall(_loop, [this](){ InvalidateSockets(); }); | ||||
| 	} | ||||
|  | ||||
| private: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann