summaryrefslogtreecommitdiff
path: root/networking
diff options
context:
space:
mode:
authorDenis Vlasenko2007-03-24 12:11:17 +0000
committerDenis Vlasenko2007-03-24 12:11:17 +0000
commit9067f13be067f39f6c8586926b190b7dee0def3d (patch)
treeff0a10f5f81fa0e1e719691c147309a9cc9bef46 /networking
parent1b6fa4c57ced2ae89f51bdc073410c4be5384007 (diff)
downloadbusybox-9067f13be067f39f6c8586926b190b7dee0def3d.zip
busybox-9067f13be067f39f6c8586926b190b7dee0def3d.tar.gz
NOMMU re-exec trick shuld not depend on existence of "don't daemonize"
option for every affected applet (and dnsd, for example, don't have one). Thus rework re-exec support to not require it. Code got smaller too.
Diffstat (limited to 'networking')
-rw-r--r--networking/dnsd.c4
-rw-r--r--networking/inetd.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/networking/dnsd.c b/networking/dnsd.c
index 78722d6..fb0c56c 100644
--- a/networking/dnsd.c
+++ b/networking/dnsd.c
@@ -357,8 +357,8 @@ int dnsd_main(int argc, char **argv)
if (OPT_daemon) {
//FIXME: NOMMU will NOT set LOGMODE_SYSLOG!
#ifdef BB_NOMMU
- /* reexec for vfork() do continue parent */
- vfork_daemon_rexec(1, 0, argc, argv, "-d");
+ if (!re_execed)
+ vfork_daemon_rexec(1, 0, argv);
#else
xdaemon(1, 0);
#endif
diff --git a/networking/inetd.c b/networking/inetd.c
index 8016823..48e23db 100644
--- a/networking/inetd.c
+++ b/networking/inetd.c
@@ -1289,8 +1289,8 @@ int inetd_main(int argc, char *argv[])
#ifdef BB_NOMMU
if (!(opt & 2)) {
- /* reexec for vfork() do continue parent */
- vfork_daemon_rexec(0, 0, argc, argv, "-f");
+ if (!re_execed)
+ vfork_daemon_rexec(0, 0, argv);
}
bb_sanitize_stdio();
#else