Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!rill.news.pipex.net!pipex!tank.news.pipex.net!pipex!news.utell.co.uk!usenet From: brian@shift.utell.net (Brian Somers) Newsgroups: comp.unix.bsd.freebsd.misc Subject: Re: ppp -background never unloading Date: 1 May 1997 17:04:06 GMT Organization: Awfulhak Ltd. Lines: 71 Message-ID: <5kaie6$a45@ui-gate.utell.co.uk> References: <E9Gxnz.3IL@nonexistent.com> Reply-To: brian@awfulhak.org, brian@utell.co.uk NNTP-Posting-Host: shift.utell.net Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Newsreader: knews 0.9.8 To: "Jim Carroll" <jim@carroll.com> Cc: brian@awfulhak.org Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:40116 [Posted and mailed] In article <E9Gxnz.3IL@nonexistent.com>, "Jim Carroll" <jim@carroll.com> writes: > > When I run my ppp session with the -background switch, after the modem > drops > carrier, the PPP session is closed, but the ppp process never exits. It > stays loaded > with it's device lock in place. This prevents subsequent ppp sessions from > being able > to grab the modem. > > I believe I have tracked down the problem to lcp.c., in the NewPhase() > function. The > function is made up of a switch block: > > switch(phase) { > > case PHASE_AUTHENTICATE: > /* go through authentication logic */ > > case PHASE_NETWORK: > /* bring up network connection */ > > case PHASE_DEAD: > if (mode & MODE_DIRECT) > Cleanup(EX_DEAD); > break; > } > > Now, it seems to me this last case statement should also be checking to see > if the > mode is background. Otherwise, there seems to be no exit state that breaks > out of > the DoLoop() in the main() method for the background mode. Here is the > suggested > change: > > case PHASE_DEAD: > if ((mode & MODE_DIRECT) || (mod & MODE_BACKGROUND)) > Cleanup(EX_DEAD); > break; > > I patched this is, and ppp now gives up the modem. Excellent. I'll update the sources. > While I normally have no problem making source patches myself, I feel a > little > squeemish about this one. It seems alot of other people must have tried > (and > successfully) run ppp in the background before. Since I haven't seen > anything in the > FAQ's, tutorials, or in this group, I have to assume I have missed > something obvious. > > I am running FreeBSD 2.2.1. > > IJ-PPP, main SCCS version 1.22.2.7 > IJ-PPP, lcp SCCS version 1.10.2.1 This is my fault. The -background flag didn't really work at all 'till just before 2.2.0 was released. I guess I missed this (*blush* - it's not exactly difficult to notice something's going wrong, but I have lots of tun devices available....). -- Brian <brian@awfulhak.org> <brian@freebsd.org> <http://www.awfulhak.org> Don't _EVER_ lose your sense of humour !