diff -Nru ppp-2.4.4.orig/pppd/main.c ppp-2.4.4/pppd/main.c --- ppp-2.4.4.orig/pppd/main.c 2008-04-12 09:51:21.000000000 +0300 +++ ppp-2.4.4/pppd/main.c 2008-04-12 10:11:19.000000000 +0300 @@ -147,7 +147,7 @@ int hungup; /* terminal has been hung up */ int privileged; /* we're running as real uid root */ int need_holdoff; /* need holdoff period before restarting */ -int detached; /* have detached from terminal */ +int detached = 0; /* have detached from terminal */ volatile int status; /* exit status for pppd */ int unsuccess; /* # unsuccessful connection attempts */ int do_callback; /* != 0 if we should do callback next */ @@ -460,6 +460,8 @@ */ if (!nodetach && !updetach) detach(); + else + setsid(); /* set the process group, see http://bugs.gentoo.org/show_bug.cgi?id=181145 */ p = getlogin(); if (p == NULL) { pw = getpwuid(uid);