From 19c9f31af17f2c34e93c9c322b5c546ffbcda6ad Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 3 Aug 2017 19:52:47 +0200 Subject: nofork: fix a bug uncovered by hush testsuite (forgotten fflush) function old new delta run_nofork_applet 280 287 +7 Signed-off-by: Denys Vlasenko --- libbb/vfork_daemon_rexec.c | 2 ++ shell/hush_test/run-all | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libbb/vfork_daemon_rexec.c b/libbb/vfork_daemon_rexec.c index 487ecb0e4..98512bb00 100644 --- a/libbb/vfork_daemon_rexec.c +++ b/libbb/vfork_daemon_rexec.c @@ -143,6 +143,8 @@ int FAST_FUNC run_nofork_applet(int applet_no, char **argv) applet_name = tmp_argv[0]; /* Finally we can call NOFORK applet's main() */ rc = applet_main[applet_no](argc, tmp_argv); + /* Important for shells: `which CMD` was failing */ + fflush_all(); } else { /* xfunc died in NOFORK applet */ } diff --git a/shell/hush_test/run-all b/shell/hush_test/run-all index 1dd0edc39..3fbc7c531 100755 --- a/shell/hush_test/run-all +++ b/shell/hush_test/run-all @@ -80,7 +80,7 @@ do_test() case $? in 0) echo " ok";; 77) echo " skip (feature disabled)";; - *) echo " fail"; tret=1;; + *) echo " fail ($?)"; tret=1;; esac done exit ${tret} -- cgit v1.2.3