[git commit] hush: NOMMU fix for hush-psubst/tick6.tests

Denys Vlasenko vda.linux at googlemail.com
Sun Dec 13 17:44:07 UTC 2020


commit: https://git.busybox.net/busybox/commit/?id=49142d48bd12c87d52e1316050f5cf4749e64e51
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
hush_main                                           1759    1766      +7

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 shell/hush.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/shell/hush.c b/shell/hush.c
index 219158f18..f9b5623fd 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -10187,6 +10187,11 @@ int hush_main(int argc, char **argv)
 			optarg++;
 			G.depth_of_loop = bb_strtou(optarg, &optarg, 16);
 # endif
+			/* Suppress "killed by signal" message, -$ hack is used
+			 * for subshells: echo `sh -c 'kill -9 $$'`
+			 * should be silent.
+			 */
+			IF_HUSH_JOB(G.run_list_level = 1;)
 # if ENABLE_HUSH_FUNCTIONS
 			/* nommu uses re-exec trick for "... | func | ...",
 			 * should allow "return".
@@ -10274,6 +10279,7 @@ int hush_main(int argc, char **argv)
 
 		G.global_argc--;
 		G.global_argv++;
+#if !BB_MMU
 		if (builtin_argc) {
 			/* -c 'builtin' [BARGV...] "" ARG0 [ARG1...] */
 			const struct built_in_command *x;
@@ -10287,6 +10293,7 @@ int hush_main(int argc, char **argv)
 			}
 			goto final_return;
 		}
+#endif
 
 		script = G.global_argv[0];
 		if (!script)


More information about the busybox-cvs mailing list