summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/log.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>1999-03-07 11:54:43 +0000
committerbrian <brian@FreeBSD.org>1999-03-07 11:54:43 +0000
commit89abf4706b304c059d0a92f79e44fd4cd6130b07 (patch)
treec3d769a4ec93a7931021acb127af522f0c5a1e83 /usr.sbin/ppp/log.c
parent01a9befa3a11e979e5f76a6eb914396b254a7c00 (diff)
downloadFreeBSD-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.c14
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;
}
}
OpenPOWER on IntegriCloud