]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
uuidd: use daemon(3) library function
authorPetr Uzel <petr.uzel@suse.cz>
Thu, 3 Feb 2011 14:04:53 +0000 (15:04 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 8 Feb 2011 14:21:46 +0000 (15:21 +0100)
Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
misc-utils/uuidd.c

index 62f75e1719662d09b172252f03439d46013f41c3..0d613960556d24ecd485c3fade6080e6a1e051be 100644 (file)
@@ -65,26 +65,11 @@ static void die(const char *msg)
 
 static void create_daemon(void)
 {
-       pid_t pid;
        uid_t euid;
 
-       pid = fork();
-       if (pid == -1) {
-               perror("fork");
-               exit(1);
-       } else if (pid != 0) {
-           exit(0);
-       }
-
-       close(0);
-       close(1);
-       close(2);
-       open("/dev/null", O_RDWR);
-       open("/dev/null", O_RDWR);
-       open("/dev/null", O_RDWR);
+       if (daemon(0,0))
+               die("daemon");
 
-       if (chdir("/")) {}      /* Silence warn_unused_result warning */
-       (void) setsid();
        euid = geteuid();
        if (setreuid(euid, euid) < 0)
                die("setreuid");