X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fmain.c;h=3172485a23e77d025cfc9c18cdf972a44c3d4910;hp=4e1e3de522e4ea4dda2dabd9a600e826b4cc4ffa;hb=68367444b1410a825ae8301a7335ce3c78190c02;hpb=9ec074e3ff0ef6bbdd673bfd199713269748f08d diff --git a/pppd/main.c b/pppd/main.c index 4e1e3de..3172485 100644 --- a/pppd/main.c +++ b/pppd/main.c @@ -18,7 +18,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: main.c,v 1.2 1993/11/23 23:40:53 paulus Exp $"; +static char rcsid[] = "$Id: main.c,v 1.5 1994/01/10 00:18:59 paulus Exp $"; #endif #define SETSID @@ -223,6 +223,11 @@ main(argc, argv) pid = getpid(); + if (!ppp_available()) { + fprintf(stderr, "Sorry - PPP is not available on this system\n"); + exit(1); + } + /* * Initialize to the standard option set, then parse, in order, * the system options file, the user's options file, and the command @@ -259,8 +264,6 @@ main(argc, argv) syslog(LOG_ERR, "getpgrp(0): %m"); die(1); } - if (pgrpid != pid) - syslog(LOG_WARNING, "warning... not a process group leader"); } else { /* @@ -336,7 +339,16 @@ main(argc, argv) signal(SIGUSR1, incdebug); /* Increment debug flag */ signal(SIGUSR2, nodebug); /* Reset debug flag */ - + + /* + * Block SIGIOs and SIGPOLLs for now + */ + sigemptyset(&mask); + sigaddset(&mask, SIGIO); +#ifdef STREAMS + sigaddset(&mask, SIGPOLL); +#endif + sigprocmask(SIG_BLOCK, &mask, NULL); /* * Open the serial device and set it up to be the ppp interface. @@ -394,14 +406,14 @@ main(argc, argv) } /* - * Set process group of device to our process group so we can get SIGIOs. + * Set process group of device to our process group so we can get + * SIGIOs and SIGHUPs. */ #ifdef SETSID if (default_device) { int id = tcgetpgrp(fd); if (id != pgrpid) { - syslog(LOG_WARNING, - "warning: not foreground process group leader"); + syslog(LOG_WARNING, "warning: not in tty's process group"); } } else { if (tcsetpgrp(fd, pgrpid) < 0) {