diff -car /usr/src/usr.sbin/ppp.orig/Makefile /usr/src/usr.sbin/ppp/Makefile *** /usr/src/usr.sbin/ppp.orig/Makefile Sun Feb 23 02:59:04 1997 --- /usr/src/usr.sbin/ppp/Makefile Tue Jul 29 19:48:18 1997 *************** *** 8,13 **** --- 8,14 ---- passwdauth.c sig.c #CFLAGS+= -DHAVE_SHELL_CMD_WITH_ANY_MODE CFLAGS += -Wall -DUSE_PERROR -DMSEXT -DPASSWDAUTH + CFLAGS += -DHAVE_PRECLOSE_SIGNAL LDADD += -lmd -lcrypt -lutil DPADD += ${LIBMD} 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 Sat Mar 15 19:44:22 1997 --- /usr/src/usr.sbin/ppp/main.c Tue Jul 29 20:22:58 1997 *************** *** 215,220 **** --- 215,233 ---- } } + #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() { *************** *** 366,371 **** --- 379,387 ---- #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