diff -up ppp-2.4.4/pppd/main.c.closelog ppp-2.4.4/pppd/main.c --- ppp-2.4.4/pppd/main.c.closelog 2008-03-06 22:54:19.000000000 +0100 +++ ppp-2.4.4/pppd/main.c 2008-03-06 22:54:31.000000000 +0100 @@ -1567,6 +1567,8 @@ safe_fork(int infd, int outfd, int errfd if (errfd == 0 || errfd == 1) errfd = dup(errfd); + closelog(); + /* dup the in, out, err fds to 0, 1, 2 */ if (infd != 0) dup2(infd, 0); @@ -1575,7 +1577,6 @@ safe_fork(int infd, int outfd, int errfd if (errfd != 2) dup2(errfd, 2); - closelog(); if (log_to_fd > 2) close(log_to_fd); if (the_channel->close)