diff options
author | Ted Lemon <source@isc.org> | 2001-08-08 14:46:14 +0000 |
---|---|---|
committer | Ted Lemon <source@isc.org> | 2001-08-08 14:46:14 +0000 |
commit | d5d6ec67ed77bbfb919c6a83c06a36627e71f633 (patch) | |
tree | 699e742e3e14c6948f417700cd31045bf4c61312 | |
parent | a215eddb24e628dedb0e921a1f833da3bd570732 (diff) | |
download | isc-dhcp-d5d6ec67ed77bbfb919c6a83c06a36627e71f633.tar.gz |
Oops, one more fix for the stdout script overwrite bug.
-rw-r--r-- | client/dhclient.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/client/dhclient.c b/client/dhclient.c index c1077202..f1c0ddd3 100644 --- a/client/dhclient.c +++ b/client/dhclient.c @@ -41,7 +41,7 @@ #ifndef lint static char ocopyright[] = -"$Id: dhclient.c,v 1.129.2.6 2001/06/20 03:03:59 mellon Exp $ Copyright (c) 1995-2001 Internet Software Consortium. All rights reserved.\n"; +"$Id: dhclient.c,v 1.129.2.7 2001/08/08 14:46:14 mellon Exp $ Copyright (c) 1995-2001 Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -2654,6 +2654,7 @@ void go_daemon () { static int state = 0; int pid; + int i; /* Don't become a daemon if the user requested otherwise. */ if (no_daemon) { @@ -2682,6 +2683,16 @@ void go_daemon () close(1); close(2); + /* Reopen them on /dev/null. */ + i = open ("/dev/null", O_RDWR); + if (i == 0) + i = open ("/dev/null", O_RDWR); + if (i == 1) { + i = open ("/dev/null", O_RDWR); + log_perror = 0; /* No sense logging to /dev/null. */ + } else if (i != -1) + close (i); + write_client_pid_file (); } |