diff -car /usr/src/usr.sbin/ppp.orig/Makefile /usr/src/usr.sbin/ppp/Makefile *** /usr/src/usr.sbin/ppp.orig/Makefile Sun May 11 21:58:57 1997 --- /usr/src/usr.sbin/ppp/Makefile Thu Aug 7 02:52:49 1997 *************** *** 8,13 **** --- 8,14 ---- passwdauth.c sig.c #CFLAGS+= -DHAVE_SHELL_CMD_WITH_ANY_MODE CFLAGS += -Wall -DMSEXT -DPASSWDAUTH + CFLAGS += -DHAVE_PRECLOSE_SIGNAL LDADD += -lmd -lcrypt -lutil DPADD += ${LIBMD} ${LIBCRYPT} ${LIBUTIL} MAN8= ppp.8 diff -car /usr/src/usr.sbin/ppp.orig/main.c /usr/src/usr.sbin/ppp/main.c *** /usr/src/usr.sbin/ppp.orig/main.c Wed May 14 10:21:29 1997 --- /usr/src/usr.sbin/ppp/main.c Thu Aug 7 02:52:26 1997 *************** *** 227,232 **** --- 227,245 ---- } } + #ifdef HAVE_PRECLOSE_SIGNAL + static void + CloseSession_without_Cleanup(signo) + int signo; + { + pending_signal(SIGUSR1, CloseSession_without_Cleanup); + if (BGPid == 0) { + LogPrintf(LOG_PHASE_BIT, "Signal %d, LcpClose.\n", signo); + LcpClose(); + } + } + #endif /* HAVE_PRECLOSE_SIGNAL */ + static void TerminalCont() { *************** *** 374,379 **** --- 387,395 ---- #ifdef SIGALRM pending_signal(SIGALRM, SIG_IGN); #endif + #ifdef HAVE_PRECLOSE_SIGNAL + pending_signal(SIGUSR1, CloseSession_without_Cleanup); + #endif /* HAVE_PRECLOSE_SIGNAL */ if(mode & MODE_INTER) { #ifdef SIGTSTP