summaryrefslogtreecommitdiff
path: root/usr.sbin/ppp/bundle.c
diff options
context:
space:
mode:
authorBrian Somers <brian@FreeBSD.org>1999-12-23 21:43:25 +0000
committerBrian Somers <brian@FreeBSD.org>1999-12-23 21:43:25 +0000
commite62ce959d08c7468e4261773593a08443a6b5d58 (patch)
tree2bce184866bd117da7ad73141ca24f85343db039 /usr.sbin/ppp/bundle.c
parent1bbd8362c742552618d2d3ed34370a349b470d7f (diff)
downloadsrc-test2-e62ce959d08c7468e4261773593a08443a6b5d58.tar.gz
src-test2-e62ce959d08c7468e4261773593a08443a6b5d58.zip
Notes
Diffstat (limited to 'usr.sbin/ppp/bundle.c')
-rw-r--r--usr.sbin/ppp/bundle.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/usr.sbin/ppp/bundle.c b/usr.sbin/ppp/bundle.c
index c61f388104a8..d55172d1b940 100644
--- a/usr.sbin/ppp/bundle.c
+++ b/usr.sbin/ppp/bundle.c
@@ -1697,6 +1697,16 @@ bundle_setsid(struct bundle *bundle, int holdsession)
char done;
struct datalink *dl;
+ if (!holdsession && bundle_IsDead(bundle)) {
+ /*
+ * No need to lose our session after all... we're going away anyway
+ *
+ * We should really stop the timer and pause if holdsession is set and
+ * the bundle's dead, but that leaves other resources lying about :-(
+ */
+ return;
+ }
+
orig = getpid();
if (pipe(fds) == -1) {
log_Printf(LogERROR, "pipe: %s\n", strerror(errno));