We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 617ac72 commit 3b6ab72Copy full SHA for 3b6ab72
pkg/src/public/bash-core.sh
@@ -82,11 +82,15 @@ core.trap_remove() {
82
83
___global_trap_table___["$signal_spec"]="$new_trap_handlers"
84
85
- # rho (WET)
86
- local global_trap_handler_name=
87
- printf -v global_trap_handler_name '%q' "core.private.trap_handler_${signal_spec}"
88
-
89
- unset -f "$global_trap_handler_name"
+ # If there are no more user-provided trap-handlers (for the particular signal spec in the global trap table),
+ # then remove our handler from 'trap'
+ if [ -z "$new_trap_handlers" ]; then
+ # rho (WET)
+ local global_trap_handler_name=
90
+ printf -v global_trap_handler_name '%q' "core.private.trap_handler_${signal_spec}"
91
+ trap -- "$signal_spec"
92
+ unset -f "$global_trap_handler_name"
93
+ fi
94
done
95
}
96
0 commit comments