diff options
author | brian <brian@FreeBSD.org> | 1999-03-07 11:54:43 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 1999-03-07 11:54:43 +0000 |
commit | 89abf4706b304c059d0a92f79e44fd4cd6130b07 (patch) | |
tree | c3d769a4ec93a7931021acb127af522f0c5a1e83 /usr.sbin/ppp/log.c | |
parent | 01a9befa3a11e979e5f76a6eb914396b254a7c00 (diff) | |
download | FreeBSD-src-89abf4706b304c059d0a92f79e44fd4cd6130b07.zip FreeBSD-src-89abf4706b304c059d0a92f79e44fd4cd6130b07.tar.gz |
Correctly drop existing connections when reopening the diagnostic
socket.
Diffstat (limited to 'usr.sbin/ppp/log.c')
-rw-r--r-- | usr.sbin/ppp/log.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/usr.sbin/ppp/log.c b/usr.sbin/ppp/log.c index 90cedb8..93cea2e 100644 --- a/usr.sbin/ppp/log.c +++ b/usr.sbin/ppp/log.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: log.c,v 1.34 1998/08/09 15:34:11 brian Exp $ + * $Id: log.c,v 1.35 1998/08/21 18:10:14 brian Exp $ */ #include <sys/types.h> @@ -132,15 +132,21 @@ log_UnRegisterPrompt(struct prompt *prompt) void log_DestroyPrompts(struct server *s) { - struct prompt *p, *pn; + struct prompt *p, *pn, *pl; p = promptlist; + pl = NULL; while (p) { pn = p->next; - if (s && p->owner != s) { + if (s && p->owner == s) { + if (pl) + pl->next = p->next; + else + promptlist = p->next; p->next = NULL; prompt_Destroy(p, 1); - } + } else + pl = p; p = pn; } } |