Page MenuHomeFreeBSD

D2325.id4903.diff
No OneTemporary

D2325.id4903.diff

Index: bin/sh/sh.1
===================================================================
--- bin/sh/sh.1
+++ bin/sh/sh.1
@@ -32,7 +32,7 @@
.\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95
.\" $FreeBSD$
.\"
-.Dd February 22, 2015
+.Dd April 18, 2015
.Dt SH 1
.Os
.Sh NAME
@@ -2574,8 +2574,7 @@
and the latter causes the default action to be taken.
Omitting the
.Ar action
-is another way to request the default action, for compatibility reasons this
-usage is not recommended though.
+and using only signal numbers is another way to request the default action.
In a subshell or utility environment,
the shell resets trapped (but not ignored) signals to the default action.
The
Index: bin/sh/tests/builtins/Makefile
===================================================================
--- bin/sh/tests/builtins/Makefile
+++ bin/sh/tests/builtins/Makefile
@@ -137,6 +137,8 @@
FILES+= trap12.0
FILES+= trap13.0
FILES+= trap14.0
+FILES+= trap15.0
+FILES+= trap16.0
FILES+= trap2.0
FILES+= trap3.0
FILES+= trap4.0
Index: bin/sh/tests/builtins/trap15.0
===================================================================
--- /dev/null
+++ bin/sh/tests/builtins/trap15.0
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+(${SH} -c 'term(){ exit 5;}; trap term TERM; kill -TERM $$') &
+wait >/dev/null 2>&1 $!
+[ $? -eq 5 ]
Index: bin/sh/tests/builtins/trap16.0
===================================================================
--- /dev/null
+++ bin/sh/tests/builtins/trap16.0
@@ -0,0 +1,19 @@
+# $FreeBSD$
+
+traps=$(${SH} -c 'trap "echo bad" 0; trap - 0; trap')
+[ -z "$traps" ] || exit 1
+traps=$(${SH} -c 'trap "echo bad" 0; trap "" 0; trap')
+[ "$traps" = "trap -- '' EXIT" ] || exit 2
+traps=$(${SH} -c 'trap "echo bad" 0; trap 0; trap')
+[ -z "$traps" ] || exit 3
+traps=$(${SH} -c 'trap "echo bad" 0; trap -- 0; trap')
+[ -z "$traps" ] || exit 4
+traps=$(${SH} -c 'trap "echo bad" 0 1 2; trap - 0 1 2; trap')
+[ -z "$traps" ] || exit 5
+traps=$(${SH} -c 'trap "echo bad" 0 1 2; trap "" 0 1 2; trap')
+expected_traps=$(${SH} -c 'trap "" EXIT HUP INT; trap')
+[ "$traps" = "$expected_traps" ] || exit 6
+traps=$(${SH} -c 'trap "echo bad" 0 1 2; trap 0 1 2; trap')
+[ -z "$traps" ] || exit 7
+traps=$(${SH} -c 'trap "echo bad" 0 1 2; trap -- 0 1 2; trap')
+[ -z "$traps" ] || exit 8
Index: bin/sh/trap.c
===================================================================
--- bin/sh/trap.c
+++ bin/sh/trap.c
@@ -183,7 +183,7 @@
return 0;
}
action = NULL;
- if (*argv && sigstring_to_signum(*argv) == -1) {
+ if (*argv && !is_number(*argv)) {
if (strcmp(*argv, "-") == 0)
argv++;
else {

File Metadata

Mime Type
text/plain
Expires
Fri, Nov 7, 1:29 AM (4 h, 25 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24969831
Default Alt Text
D2325.id4903.diff (2 KB)

Event Timeline