Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jul 2012 00:10:37 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        "George V. Neville-Neil" <gnn@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r238743 - head/cddl/contrib/opensolaris/cmd/dtrace
Message-ID:  <500F0F4D.2050409@FreeBSD.org>
In-Reply-To: <201207241801.q6OI1SPS057812@svn.freebsd.org>
References:  <201207241801.q6OI1SPS057812@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?500F0F4D.2050409>