diff options
author | brian <brian@FreeBSD.org> | 1997-05-19 02:00:16 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 1997-05-19 02:00:16 +0000 |
commit | ee01b280507bf1f39a39f9beb574b6653321fd1c (patch) | |
tree | e4d9b90f3eb2066eb4729a5a72f4efff2a30eec9 /usr.sbin/ppp/os.c | |
parent | 4f2495eff057ea8a9f8c638ee404521f89177a51 (diff) | |
download | FreeBSD-src-ee01b280507bf1f39a39f9beb574b6653321fd1c.zip FreeBSD-src-ee01b280507bf1f39a39f9beb574b6653321fd1c.tar.gz |
Mega update to sort out bad implementations
of reconnect & -background.
o Fix reconnect anomolies.
o Make reconnect apply to failed LQR hangups (& mention in man page).
o Make reconnect effective in -background mode.
o Listen on socket in -background mode.
o Try all phone numbers in -background mode.
o Insist on system arg in -background mode.
o Make a control-connection close command exit in -background mode.
o Output status message to stdout on exit of parent in -background mode.
o Don't notify parent of success too soon.
o Describe termination EX_* code.
o Miscelaneous diagnostic corrections.
o Remove redundant connect_time from modem.c.
o Don't repeatedly DownConnection().
Diffstat (limited to 'usr.sbin/ppp/os.c')
-rw-r--r-- | usr.sbin/ppp/os.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/usr.sbin/ppp/os.c b/usr.sbin/ppp/os.c index c0ffdb8..2bdab3e 100644 --- a/usr.sbin/ppp/os.c +++ b/usr.sbin/ppp/os.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: os.c,v 1.15 1997/04/15 00:03:36 brian Exp $ + * $Id: os.c,v 1.16 1997/05/04 02:39:04 ache Exp $ * */ #include "fsm.h" @@ -186,6 +186,15 @@ OsLinkup() if (linkup == 0) { if (setuid(0) < 0) logprintf("setuid failed\n"); + if (mode & MODE_BACKGROUND && BGFiledes[1] != -1) { + char c = EX_NORMAL; + if (write(BGFiledes[1],&c,1) == 1) + LogPrintf(LOG_PHASE_BIT,"Parent notified of success.\n"); + else + LogPrintf(LOG_PHASE_BIT,"Failed to notify parent of success.\n"); + close(BGFiledes[1]); + BGFiledes[1] = -1; + } peer_addr = IpcpInfo.his_ipaddr; s = (char *)inet_ntoa(peer_addr); LogPrintf(LOG_LINK_BIT|LOG_LCP_BIT, "OsLinkup: %s\n", s); |