Patchwork Avoid exit in trap as it breaks with some shells

login
register
mail settings
Submitter Loïc Minier
Date Sept. 25, 2010, 7:52 p.m.
Message ID <1285444350-16679-1-git-send-email-loic.minier@linaro.org>
Download mbox | patch
Permalink /patch/65765/
State New
Headers show

Comments

Loïc Minier - Sept. 25, 2010, 7:52 p.m.
Don't call exit in the trap handler as it causes the return code to be
zero with some buggy shells (dash and pdksh at least) and is useless
here anyway.
---
 configure |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
Blue Swirl - Sept. 26, 2010, 6:58 a.m.
Thanks, applied. Please remember to add the Signed-off-line.

On Sat, Sep 25, 2010 at 7:52 PM, Loïc Minier <loic.minier@linaro.org> wrote:
> Don't call exit in the trap handler as it causes the return code to be
> zero with some buggy shells (dash and pdksh at least) and is useless
> here anyway.
> ---
>  configure |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/configure b/configure
> index 3bfc5e9..9d3acfc 100755
> --- a/configure
> +++ b/configure
> @@ -15,7 +15,9 @@ TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
>  TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
>  TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.exe"
>
> -trap "rm -f $TMPC $TMPO $TMPE ; exit" EXIT INT QUIT TERM
> +# NB: do not call "exit" in the trap handler; this is buggy with some shells;
> +# see <1285349658-3122-1-git-send-email-loic.minier@linaro.org>
> +trap "rm -f $TMPC $TMPO $TMPE" EXIT INT QUIT TERM
>
>  compile_object() {
>   $cc $QEMU_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null
> --
> 1.7.1
>
>
>

Patch

diff --git a/configure b/configure
index 3bfc5e9..9d3acfc 100755
--- a/configure
+++ b/configure
@@ -15,7 +15,9 @@  TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
 TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
 TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.exe"
 
-trap "rm -f $TMPC $TMPO $TMPE ; exit" EXIT INT QUIT TERM
+# NB: do not call "exit" in the trap handler; this is buggy with some shells;
+# see <1285349658-3122-1-git-send-email-loic.minier@linaro.org>
+trap "rm -f $TMPC $TMPO $TMPE" EXIT INT QUIT TERM
 
 compile_object() {
   $cc $QEMU_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null