Mercurial > hg > dhcpcd
diff src/dhcpcd.c @ 5538:fc24946f9b2a draft
dhcpcd: Don't create launcher process if keeping in foreground
There is little point.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Wed, 11 Nov 2020 17:44:55 +0000 |
| parents | 4492d1d88fdd |
| children | c9182c3618e6 |
line wrap: on
line diff
--- a/src/dhcpcd.c Wed Nov 11 17:41:16 2020 +0000 +++ b/src/dhcpcd.c Wed Nov 11 17:44:55 2020 +0000 @@ -2244,6 +2244,9 @@ if (ctx.stdin_valid && freopen(_PATH_DEVNULL, "w", stdin) == NULL) logwarn("freopen stdin"); + if (!(ctx.options & DHCPCD_DAEMONISE)) + goto start_master; + #if defined(USE_SIGNALS) && !defined(THERE_IS_NO_FORK) if (xsocketpair(AF_UNIX, SOCK_DGRAM | SOCK_CXNB, 0, fork_fd) == -1 || (ctx.stderr_valid && @@ -2335,8 +2338,9 @@ /* We have now forked, setsid, forked once more. * From this point on, we are the controlling daemon. */ + logdebugx("spawned master process on PID %d", getpid()); +start_master: ctx.options |= DHCPCD_STARTED; - logdebugx("spawned master process on PID %d", getpid()); if ((pid = pidfile_lock(ctx.pidfile)) != 0) { logerr("%s: pidfile_lock %d", __func__, pid); #ifdef PRIVSEP
