forked from pool/alsa-utils
34 lines
772 B
Diff
34 lines
772 B
Diff
|
From a3ebe640a74d4a0e8acd15e31dd83c210b3c1be4 Mon Sep 17 00:00:00 2001
|
||
|
From: Takashi Iwai <tiwai@suse.de>
|
||
|
Date: Fri, 3 Jun 2011 12:44:17 +0200
|
||
|
Subject: [PATCH 10/16] aplay: Avoid recursive signal handling
|
||
|
|
||
|
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 | 6 ++++++
|
||
|
1 files changed, 6 insertions(+), 0 deletions(-)
|
||
|
|
||
|
diff --git a/aplay/aplay.c b/aplay/aplay.c
|
||
|
index 04959b8..72852b0 100644
|
||
|
--- a/aplay/aplay.c
|
||
|
+++ b/aplay/aplay.c
|
||
|
@@ -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)
|
||
|
--
|
||
|
1.7.5.3
|
||
|
|