lib/vty: don't clear output buffer on input EOF

A VTY's input can be closed without the output becoming unavailable.
This happens both on stdio when stdin ends, as well as over TCP when an
unidirectional input shutdown() happens.

In such a case, resetting the output buffer is not appropriate since
there might still be data to be successfully written.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
David Lamparter 2015-05-14 14:24:06 +02:00 committed by Donald Sharp
parent dbf78092da
commit 009a4a07ff

View File

@ -1365,8 +1365,8 @@ vty_read (struct thread *thread)
vty->monitor = 0; /* disable monitoring to avoid infinite recursion */
zlog_warn("%s: read error on vty client fd %d, closing: %s",
__func__, vty->fd, safe_strerror(errno));
buffer_reset(vty->obuf);
}
buffer_reset(vty->obuf);
vty->status = VTY_CLOSE;
}