@@ -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;
@@ -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);
}