svn commit: r238743 - head/cddl/contrib/opensolaris/cmd/dtrace
Andriy Gapon
avg at FreeBSD.org
Tue Jul 24 21:10:48 UTC 2012
on 24/07/2012 21:01 George V. Neville-Neil said the following:
> Author: gnn
> Date: Tue Jul 24 18:01:28 2012
> New Revision: 238743
> URL: http://svn.freebsd.org/changeset/base/238743
>
> Log:
> 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.
I'd rather fix the shell that sends 2 or 2+ SIGINTs on one Ctrl-C. [half-joking]
I think that _a bug_ is there, not here. I do not experience any such problems
with zsh.
> MFC after: 2 weeks
>
> Modified:
> head/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c
>
> Modified: head/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c
> ==============================================================================
> --- head/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c Tue Jul 24 16:29:33 2012 (r238742)
> +++ head/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c Tue Jul 24 18:01:28 2012 (r238743)
> @@ -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;
Because of the postfix ++ g_impatient will be set to one at the _forth_ run
through this code (assuming that the initial value of g_intr is zero) contrary
to what you say in the commit message.
> }
>
>
BTW, posting even trivial patches for a review as a part of the routine seems to
be a good habit in general.
--
Andriy Gapon
More information about the svn-src-head
mailing list