From d83f1ab98e25a7c3ed7d43ac299ec6eb69eda754 Mon Sep 17 00:00:00 2001 From: "George V. Neville-Neil" Date: Tue, 24 Jul 2012 18:01:28 +0000 Subject: [PATCH] Fix a bug in interrupt handling so that we're only considered impatient if we sent more than 2 INT signals. This fixes a bug where we wouldn't see aggregations print on the command line if we Ctrl-C'd a dtrace script or command line invocation. MFC after: 2 weeks --- cddl/contrib/opensolaris/cmd/dtrace/dtrace.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c b/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c index a2766593607b..310d49b17ca7 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c +++ b/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c @@ -70,6 +70,8 @@ typedef struct dtrace_cmd { #define E_ERROR 1 #define E_USAGE 2 +#define IMPATIENT_LIMIT 2 + static const char DTRACE_OPTSTR[] = "3:6:aAb:Bc:CD:ef:FGhHi:I:lL:m:n:o:p:P:qs:SU:vVwx:X:Z"; @@ -1202,7 +1204,7 @@ intr(int signo) if (!g_intr) g_newline = 1; - if (g_intr++) + if (g_intr++ > IMPATIENT_LIMIT) g_impatient = 1; }