diff options
author | gnn <gnn@FreeBSD.org> | 2012-07-24 18:01:28 +0000 |
---|---|---|
committer | gnn <gnn@FreeBSD.org> | 2012-07-24 18:01:28 +0000 |
commit | 2046a3869a7c712f2e9909d4c87e5fbe447f40ca (patch) | |
tree | f4dbbf4a0443cd9af67ecde362732a46014aa076 /cddl | |
parent | 271289d4bf786cb542f44a7cc435e7eea1463eec (diff) | |
download | FreeBSD-src-2046a3869a7c712f2e9909d4c87e5fbe447f40ca.zip FreeBSD-src-2046a3869a7c712f2e9909d4c87e5fbe447f40ca.tar.gz |
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
Diffstat (limited to 'cddl')
-rw-r--r-- | cddl/contrib/opensolaris/cmd/dtrace/dtrace.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c b/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c index a276659..310d49b 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; } |