[git commit] httpd: allow '-h' to work when daemonized with NOMMU enabled
Denys Vlasenko
vda.linux at googlemail.com
Tue Jun 9 15:38:21 UTC 2020
commit: https://git.busybox.net/busybox/commit/?id=17764603f2a10bd43d174dc05512f38ab16a080a
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
Commit d1b75e184 (httpd: permit non-default home directory with NOMMU
enabled) only works when used with the '-f' (foreground) option.
When '-f' isn't specified and NOMMU is enabled bb_daemonize_or_rexec()
is called to daemonize the server. Since the server process has been
re-execed the previous patch results in the xchdir() not being called.
Fix this by resetting the re_execed variable in this case.
Signed-off-by: Ron Yorston <rmy at pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
networking/httpd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/networking/httpd.c b/networking/httpd.c
index c2d226592..f4e95768f 100644
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -2734,11 +2734,11 @@ int httpd_main(int argc UNUSED_PARAM, char **argv)
#if !BB_MMU
if (!(opt & OPT_FOREGROUND)) {
bb_daemonize_or_rexec(0, argv); /* don't change current directory */
+ re_execed = 0; /* for the following chdir to work */
}
#endif
-
- /* Chdir to home (unless we were re-execed for NOMMU case:
- * we are already in the home dir then).
+ /* Chdir to home (unless we were re_exec()ed for NOMMU case
+ * in mini_httpd_nommu(): we are already in the home dir then).
*/
if (!re_execed)
xchdir(home_httpd);
More information about the busybox-cvs
mailing list