aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Dill <Russ.Dill@asu.edu>2003-12-26 23:41:28 +0000
committerRuss Dill <Russ.Dill@asu.edu>2003-12-26 23:41:28 +0000
commit6caa073760f18c77237e717f8807d73b4126a8f4 (patch)
tree285b395fbbf65ec51b9817e6614b8c3f45cd9d34
parentce91c8ac2bb343f0b3303c608c5a8b5a2252204d (diff)
downloadbusybox-w32-6caa073760f18c77237e717f8807d73b4126a8f4.tar.gz
busybox-w32-6caa073760f18c77237e717f8807d73b4126a8f4.tar.bz2
busybox-w32-6caa073760f18c77237e717f8807d73b4126a8f4.zip
it should work even if you don't assign a pidfile
-rw-r--r--networking/udhcp/common.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c
index bfdc7ba8d..8542c664c 100644
--- a/networking/udhcp/common.c
+++ b/networking/udhcp/common.c
@@ -59,15 +59,14 @@ void background(const char *pidfile)
59#else /* __uClinux__ */ 59#else /* __uClinux__ */
60 int pid_fd; 60 int pid_fd;
61 61
62 if (!pidfile) return; 62 /* hold lock during fork. */
63 63 if (pidfile) pid_fd = pidfile_acquire(pidfile);
64 pid_fd = pidfile_acquire(pidfile); /* hold lock during fork. */
65 if (daemon(0, 0) == -1) { 64 if (daemon(0, 0) == -1) {
66 perror("fork"); 65 perror("fork");
67 exit(1); 66 exit(1);
68 } 67 }
69 daemonized++; 68 daemonized++;
70 pidfile_write_release(pid_fd); 69 if (pidfile) pidfile_write_release(pid_fd);
71#endif /* __uClinux__ */ 70#endif /* __uClinux__ */
72} 71}
73 72
@@ -97,8 +96,10 @@ void start_log_and_pid(const char *client_server, const char *pidfile)
97 sanitize_fds(); 96 sanitize_fds();
98 97
99 /* do some other misc startup stuff while we are here to save bytes */ 98 /* do some other misc startup stuff while we are here to save bytes */
100 pid_fd = pidfile_acquire(pidfile); 99 if (pidfile) {
101 pidfile_write_release(pid_fd); 100 pid_fd = pidfile_acquire(pidfile);
101 pidfile_write_release(pid_fd);
102 }
102 103
103 /* equivelent of doing a fflush after every \n */ 104 /* equivelent of doing a fflush after every \n */
104 setlinebuf(stdout); 105 setlinebuf(stdout);