]> git.alsa-project.org Git - alsa-utils.git/commitdiff
aplay: Avoid recursive signal handling
authorTakashi Iwai <tiwai@suse.de>
Fri, 3 Jun 2011 10:44:17 +0000 (12:44 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 3 Jun 2011 10:44:17 +0000 (12:44 +0200)
When abort() is issued in snd_pcm_close() path, it may loop recursively
and crash.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
aplay/aplay.c

index 04959b8a9d457d6f6cdf5250bb7bbc00f5fbc2b2..72852b00794e4460013059e9fbe3162011814898 100644 (file)
@@ -358,6 +358,12 @@ static void prg_exit(int code)
 
 static void signal_handler(int sig)
 {
+       static int in_aborting;
+
+       if (in_aborting)
+               return;
+
+       in_aborting = 1;
        if (verbose==2)
                putchar('\n');
        if (!quiet_mode)