All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pete Wyckoff <pw@padd.com>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Luke Diamand <luke@diamand.org>, git@vger.kernel.org
Subject: Re: [PATCHv2 02/11] git-p4: test debug macro
Date: Sun, 18 Dec 2011 08:50:47 -0500	[thread overview]
Message-ID: <20111218135047.GA16487@padd.com> (raw)
In-Reply-To: <20111218032238.GA6368@elie.hsd1.il.comcast.net>

jrnieder@gmail.com wrote on Sat, 17 Dec 2011 21:26 -0600:
> Pete Wyckoff wrote:
> 
> > +	# 2 is SIGINT, ash/dash does not know symbolic names
> > +	trap echo 2
> 
> 'trap "$cmd" INT' works, and it's even in POSIX. ;)
> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#trap

Nice!  But ash/dash handle subshell INT differently.  With ash,
the entire test exits after the ctrl-C, even if caught by a trap in a
subshell.  Not so nice.  Here's a demonstration.

-----------8<-------------
# shell top.sh
echo top.sh
$SHELL trap.sh
echo top.sh: exit status from trap.sh: $?
echo top.sh: exiting
exit 0
-----------8<-------------

-----------8<-------------
# shell trap.sh
echo trap.sh
trap "echo trap.sh caught INT" INT
sleep 3600
trap - INT
echo trap.sh: exiting
exit 0
-----------8<-------------

Run "bash top.sh".  Hit ctrl-c, you'll see:

    $ bash top.sh
    top.sh
    trap.sh
    ^Ctrap.sh caught INT
    trap.sh: exiting
    top.sh: exit status from trap.sh: 0
    top.sh: exiting

Similarly with "ash top.sh":

    $ ash top.sh
    top.sh
    trap.sh
    ^Ctrap.sh caught INT
    trap.sh: exiting

The top-level script also gets the ctrl-c, but exits on the INT
anyway, after reaping its child.  I can't find where POSIX says
if this is correct or not.  It isn't how I want it to work here.

I'll add a comment above debug() to explain that it works in bash
but not ash.  At least it prints out the P4 environment
information needed to debug.

		-- Pete

  reply	other threads:[~2011-12-18 13:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-17 18:52 [PATCH 00/11] git-p4: asciidoc documentation and fixes Pete Wyckoff
2011-12-17 18:52 ` [PATCH 01/11] git-p4: introduce asciidoc documentation Pete Wyckoff
2011-12-17 18:52 ` [PATCH 02/11] git-p4: test debug macro Pete Wyckoff
2011-12-17 22:43   ` Luke Diamand
2011-12-18  1:36     ` [PATCHv2 " Pete Wyckoff
2011-12-18  3:26       ` Jonathan Nieder
2011-12-18 13:50         ` Pete Wyckoff [this message]
2011-12-18 14:06         ` [PATCHv3 " Pete Wyckoff
2011-12-18 17:10           ` Luke Diamand
2011-12-18 21:48           ` Junio C Hamano
2011-12-20  1:35             ` Pete Wyckoff
2011-12-17 18:52 ` [PATCH 03/11] git-p4: clone does not use --git-dir Pete Wyckoff
2011-12-17 18:52 ` [PATCH 04/11] git-p4: test cloning with two dirs, clarify doc Pete Wyckoff
2011-12-17 18:52 ` [PATCH 05/11] git-p4: document and test clone --branch Pete Wyckoff
2011-12-17 18:52 ` [PATCH 06/11] git-p4: honor --changesfile option and test Pete Wyckoff
2011-12-17 18:52 ` [PATCH 07/11] git-p4: document and test --import-local Pete Wyckoff
2011-12-17 18:52 ` [PATCH 08/11] git-p4: test --max-changes Pete Wyckoff
2011-12-17 18:52 ` [PATCH 09/11] git-p4: test --keep-path Pete Wyckoff
2011-12-17 18:52 ` [PATCH 10/11] git-p4: test and document --use-client-spec Pete Wyckoff
2011-12-17 18:52 ` [PATCH 11/11] git-p4: document and test submit options Pete Wyckoff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111218135047.GA16487@padd.com \
    --to=pw@padd.com \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    --cc=luke@diamand.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.