[PATCH] alsa-utils: speaker-test: fix infinite loop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm using speaker-test in an Ubuntu-specific bug triaging script/application ("ubuntu-bug audio"), and without showing the terminal that speaker-test outputs. So when the stream cannot be opened for one reason or another, my application hangs indefinitely and the user cannot report the bug.

Looking at the code, seems like Takashi removed all error loops except this one four years ago, so there shouldn't be any controversy in removing this one as well.

--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
>From f51771c4064ec5f18ec46aeec2d5fe294a4a372c Mon Sep 17 00:00:00 2001
From: David Henningsson <david.henningsson@xxxxxxxxxxxxx>
Date: Fri, 15 Oct 2010 12:30:44 +0200
Subject: [PATCH] speaker-test: Don't retry after fatal errors

Fixup commit 9b1a2566: Remove error loop

Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx>
---
 speaker-test/speaker-test.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
index 458a8d7..3029110 100644
--- a/speaker-test/speaker-test.c
+++ b/speaker-test/speaker-test.c
@@ -993,9 +993,9 @@ int main(int argc, char *argv[]) {
 
   }
 
-  while ((err = snd_pcm_open(&handle, device, SND_PCM_STREAM_PLAYBACK, 0)) < 0) {
+  if ((err = snd_pcm_open(&handle, device, SND_PCM_STREAM_PLAYBACK, 0)) < 0) {
     printf(_("Playback open error: %d,%s\n"), err,snd_strerror(err));
-    sleep(1);
+    exit(EXIT_FAILURE);
   }
 
   if ((err = set_hwparams(handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0) {
-- 
1.7.1

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux