it should work even if you don't assign a pidfile
authorRuss Dill <Russ.Dill@asu.edu>
Fri, 26 Dec 2003 23:41:28 +0000 (23:41 -0000)
committerRuss Dill <Russ.Dill@asu.edu>
Fri, 26 Dec 2003 23:41:28 +0000 (23:41 -0000)
networking/udhcp/common.c

index bfdc7ba8d7b32e87b118f049d0a1238310dd263d..8542c664c661cf792188b61ab5dc3cf4d1e57801 100644 (file)
@@ -59,15 +59,14 @@ void background(const char *pidfile)
 #else /* __uClinux__ */
        int pid_fd;
 
-       if (!pidfile) return;
-
-       pid_fd = pidfile_acquire(pidfile); /* hold lock during fork. */
+       /* hold lock during fork. */
+       if (pidfile) pid_fd = pidfile_acquire(pidfile);
        if (daemon(0, 0) == -1) {
                perror("fork");
                exit(1);
        }
        daemonized++;
-       pidfile_write_release(pid_fd);
+       if (pidfile) pidfile_write_release(pid_fd);
 #endif /* __uClinux__ */
 }
 
@@ -97,8 +96,10 @@ void start_log_and_pid(const char *client_server, const char *pidfile)
        sanitize_fds();
 
        /* do some other misc startup stuff while we are here to save bytes */
-       pid_fd = pidfile_acquire(pidfile);
-       pidfile_write_release(pid_fd);
+       if (pidfile) {
+               pid_fd = pidfile_acquire(pidfile);
+               pidfile_write_release(pid_fd);
+       }
 
        /* equivelent of doing a fflush after every \n */
        setlinebuf(stdout);