httpd: allow '-h' to work when daemonized with NOMMU enabled
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@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
0cad5f9b6d
commit
17764603f2
@ -2734,11 +2734,11 @@ int httpd_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
#if !BB_MMU
|
#if !BB_MMU
|
||||||
if (!(opt & OPT_FOREGROUND)) {
|
if (!(opt & OPT_FOREGROUND)) {
|
||||||
bb_daemonize_or_rexec(0, argv); /* don't change current directory */
|
bb_daemonize_or_rexec(0, argv); /* don't change current directory */
|
||||||
|
re_execed = 0; /* for the following chdir to work */
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
/* Chdir to home (unless we were re_exec()ed for NOMMU case
|
||||||
/* Chdir to home (unless we were re-execed for NOMMU case:
|
* in mini_httpd_nommu(): we are already in the home dir then).
|
||||||
* we are already in the home dir then).
|
|
||||||
*/
|
*/
|
||||||
if (!re_execed)
|
if (!re_execed)
|
||||||
xchdir(home_httpd);
|
xchdir(home_httpd);
|
||||||
|
Loading…
Reference in New Issue
Block a user