Mercurial > hg > dhcpcd
changeset 3506:f6558b6ba292 draft
Make fork process clearer.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Sun, 10 Apr 2016 18:46:12 +0000 |
| parents | c5856fbb76ff |
| children | 552f81f32a8f |
| files | dhcpcd.c |
| diffstat | 1 files changed, 3 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/dhcpcd.c Fri Apr 08 20:54:04 2016 +0000 +++ b/dhcpcd.c Sun Apr 10 18:46:12 2016 +0000 @@ -345,24 +345,19 @@ dup2(fd, STDERR_FILENO); close(fd); } - break; + ctx->options |= DHCPCD_DAEMONISED; + return 0; default: /* Wait for child to detach */ close(sidpipe[1]); if (read(sidpipe[0], &buf, 1) == -1) logger(ctx, LOG_ERR, "failed to read child: %m"); close(sidpipe[0]); - break; - } - /* Done with the fd now */ - if (pid != 0) { logger(ctx, LOG_INFO, "forked to background, child pid %d", pid); ctx->options |= DHCPCD_FORKED; eloop_exit(ctx->eloop, EXIT_SUCCESS); return pid; } - ctx->options |= DHCPCD_DAEMONISED; - return pid; #endif } @@ -1800,7 +1795,7 @@ if (pid == -1) logger(&ctx, LOG_ERR, "%s: pidfile_lock: %m", __func__); - else + else logger(&ctx, LOG_ERR, ""PACKAGE " already running on pid %d (%s)", pid, ctx.pidfile);
