diff -urN ppp-2.4.2-orig/pppd/main.c ppp-2.4.2/pppd/main.c --- ppp-2.4.2-orig/pppd/main.c 2004-05-23 22:23:28.466734096 -0400 +++ ppp-2.4.2/pppd/main.c 2004-05-23 22:29:49.269843224 -0400 @@ -1361,9 +1361,11 @@ { info("Hangup (SIGHUP)"); got_sighup = 1; + signal(SIGHUP, SIG_IGN); if (conn_running) /* Send the signal to the [dis]connector process(es) also */ kill_my_pg(sig); + signal(SIGHUP, hup); notify(sigreceived, sig); if (waiting) siglongjmp(sigjmp, 1); @@ -1382,9 +1384,13 @@ { info("Terminating on signal %d.", sig); got_sigterm = 1; + signal(SIGTERM, SIG_IGN); + signal(SIGINT, SIG_IGN); if (conn_running) /* Send the signal to the [dis]connector process(es) also */ kill_my_pg(sig); + signal(SIGTERM, term); + signal(SIGINT, term); notify(sigreceived, sig); if (waiting) siglongjmp(sigjmp, 1);