summary refs log tree commit diff
path: root/src/eval.h
diff options
context:
space:
mode:
authorGerrit Pape <pape@smarden.org>2010-06-28 17:11:58 +1000
committerHerbert Xu <herbert@gondor.apana.org.au>2010-06-28 17:11:58 +1000
commitcdfb42fd67558847b689c69b6fdd23016e7220eb (patch)
tree220fce3cad122e3b3851472be68c76424315f380 /src/eval.h
parent[BUILTIN] Continue after EINTR in read(1) with no pending signals (diff)
downloaddash-cdfb42fd67558847b689c69b6fdd23016e7220eb.tar.gz
dash-cdfb42fd67558847b689c69b6fdd23016e7220eb.zip
[EVAL] Don't clear eflag in evalbackcmd
According to                          
 http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_12
"A subshell environment shall be created as a duplicate of the shell
environment, except that signal traps set by that shell environment
shall be set to the default values."

Currently the eflag is cleared when forking a subshell, e.g.

$ dash -c 'set -e ; z=$(false;echo foo) ; echo $z'
foo

With this commit the eflag is preserved for subshells, and dash exits 1
before echo.

The problem was reported by Vincent Lefevre through
 http://bugs.debian.org/514863

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'src/eval.h')
0 files changed, 0 insertions, 0 deletions