1 --- ppp-2.4.2/pppd/main.c.vns 2004-06-07 14:50:35 +0400
2 +++ ppp-2.4.2/pppd/main.c 2004-06-08 15:15:07 +0400
4 static void get_input __P((void));
5 static void calltimeout __P((void));
6 static struct timeval *timeleft __P((struct timeval *));
7 -static void kill_my_pg __P((int));
8 static void hup __P((int));
9 static void term __P((int));
10 static void chld __P((int));
11 @@ -1408,23 +1407,6 @@
15 - * kill_my_pg - send a signal to our process group, and ignore it ourselves.
21 - struct sigaction act, oldact;
23 - act.sa_handler = SIG_IGN;
25 - sigaction(sig, &act, &oldact);
27 - sigaction(sig, &oldact, NULL);
32 * hup - Catch SIGHUP signal.
34 * Indicates that the physical layer has been disconnected.
35 @@ -1435,14 +1417,23 @@
39 + static ignore_next = 0;
45 info("Hangup (SIGHUP)");
48 - /* Send the signal to the [dis]connector process(es) also */
51 + /* Send the signal to the [dis]connector process(es) also */
55 notify(sigreceived, sig);
57 - siglongjmp(sigjmp, 1);
58 + siglongjmp(sigjmp, 1);
62 @@ -1456,14 +1447,23 @@
66 + static ignore_next = 0;
72 info("Terminating on signal %d.", sig);
75 - /* Send the signal to the [dis]connector process(es) also */
78 + /* Send the signal to the [dis]connector process(es) also */
82 notify(sigreceived, sig);
84 - siglongjmp(sigjmp, 1);
85 + siglongjmp(sigjmp, 1);
89 @@ -1523,14 +1523,23 @@
93 + static ignore_next = 0;
94 static int crashed = 0;
105 error("Fatal signal %d", sig);
107 - kill_my_pg(SIGTERM);
112 notify(sigreceived, sig);