summary refs log tree commit diff
path: root/debian/compat
diff options
context:
space:
mode:
authorAntonio Ospite <ao2@ao2.it>2018-10-16 14:09:52 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2018-12-14 13:48:02 +0800
commit06204f0c9f539fcb8cb532166656e80b81bd689a (patch)
treef911d73f75ee0d033ecb088ad914a10f08fe499e /debian/compat
parentexpand: Fix multiple issues with EXP_DISCARD in evalvar (diff)
downloaddash-06204f0c9f539fcb8cb532166656e80b81bd689a.tar.gz
dash-06204f0c9f539fcb8cb532166656e80b81bd689a.zip
eval: make traps work when "set -e" is enabled
When "set -e" is enabled traps are not always executed, in particular
the EXIT trap is not executed when the shell exits on an unhandled
error.

Consider the following test script:

  #!/bin/dash

  set -e

  trap 'ret=$?; echo "EXIT: $ret"' EXIT
  trap 'exit 2' HUP INT QUIT PIPE TERM

  read variable

By pressing Ctrl-C one would expect the EXIT trap to be called, as it is
the case with other shells (bash, zsh), but dash does not do it.

By calling dotrap() before jumping to the exit path when checkexit is
not zero, dash behaves like other shells.

Signed-off-by: Antonio Ospite <ao2@ao2.it>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions
ss='logsubject'>Do not increment signalsJune McEnroe No need to do a read and a write... and it's declared volatile so maybe that's even worse? I don't even know, but there's no point. 2020-10-23Only look up group if one is namedJune McEnroe 2020-10-23Remove default defines of RUNDIR, ETCDIRJune McEnroe 2020-10-23Set shell scripts executable in buildJune McEnroe 2020-10-20Humanize milliseconds if interval is less than 1sJune McEnroe The intervals are configurable in milliseconds so humanize should be able to display at that precision. 2020-10-20Humanize restart intervalJune McEnroe 2020-08-17Document default catsit.conf location on OpenBSD 1.0June McEnroe 2020-08-17Template catsit script with RUNDIRJune McEnroe 2020-08-17Clean up includesJune McEnroe 2020-08-17Log service uptime in statusJune McEnroe