From 22d948a2d97434192018bdabaf0a50cda7f994be Mon Sep 17 00:00:00 2001 From: Jindrich Makovicka Date: Sun, 17 Oct 2010 19:28:14 +0200 Subject: [PATCH] fix 100% CPU load when idle with ALSA Playback control function did not disable polling when playback stops. Caused busy spinning of the main loop due to unprocessed events. Signed-off-by: Jindrich Makovicka Signed-off-by: malc --- audio/alsaaudio.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/audio/alsaaudio.c b/audio/alsaaudio.c index f0171f9842..3ca40780ec 100644 --- a/audio/alsaaudio.c +++ b/audio/alsaaudio.c @@ -889,6 +889,10 @@ static int alsa_ctl_out (HWVoiceOut *hw, int cmd, ...) case VOICE_DISABLE: ldebug ("disabling voice\n"); + if (hw->poll_mode) { + hw->poll_mode = 0; + alsa_fini_poll (&alsa->pollhlp); + } return alsa_voice_ctl (alsa->handle, "playback", 1); }