Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Oct 1995 11:10:27 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        CVS-commiters@freefall.freebsd.org, bde@freefall.freebsd.org, cvs-sys@freefall.freebsd.org
Subject:   Re: cvs commit: src/sys/net if_ppp.c
Message-ID:  <199510050110.LAA23044@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>  Modified:    sys/net   if_ppp.c
>  Log:
>  Don't wait for output to drain in pppclose().  Discard output immediately
>  for the same reasons as in slclose().
>
>  [stuff that shouldn't go in 2.1]

This should go in 2.1.

Unlike for slip, this only helps when pppd is killed without giving it a
chance to clean up.  pppd uses a waiting form of tcsetattr() to restore
the tty state as part of cleaning up, and it doesn't bother to switch
the line discipline back to TTYDISC before calling tcsetattr(), so it
hangs before pppclose() is called.  This is not as serious as hanging
in close() in exit(), because not all signals are blocked.  Hanging
pppd's can be killed by sending them 2 SIGTERMs after the signal that
made it start cleaning up (SIGHUPs are blocked).

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199510050110.LAA23044>