summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ccan/daemonize/daemonize.c4
-rw-r--r--ccan/daemonize/test/run.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/ccan/daemonize/daemonize.c b/ccan/daemonize/daemonize.c
index 861b0fc7..ca4aafc8 100644
--- a/ccan/daemonize/daemonize.c
+++ b/ccan/daemonize/daemonize.c
@@ -24,7 +24,9 @@ bool daemonize(void)
/* Session leader so ^C doesn't whack us. */
setsid();
/* Move off any mount points we might be in. */
- chdir("/");
+ if (chdir("/") != 0)
+ return false;
+
/* Discard our parent's old-fashioned umask prejudices. */
umask(0);
return true;
diff --git a/ccan/daemonize/test/run.c b/ccan/daemonize/test/run.c
index 9802c442..a471268d 100644
--- a/ccan/daemonize/test/run.c
+++ b/ccan/daemonize/test/run.c
@@ -47,7 +47,9 @@ int main(int argc, char *argv[])
while (getppid() == pid)
sleep(1);
daemonized.ppid = getppid();
- write(fds[1], &daemonized, sizeof(daemonized));
+ if (write(fds[1], &daemonized, sizeof(daemonized))
+ != sizeof(daemonized))
+ exit(1);
exit(0);
}