[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] tools/console: reset tty when xenconsole fails
On Mon, 2014-02-24 at 15:26 +0000, Ian Jackson wrote: > If xenconsole (the client program) fails, it calls err. This would > previously neglect to reset the user's terminal to sanity. Use atexit > to do so. > > This routinely happens in Xen 4.4 RC5 with pygrub because something > writes the value "" to the tty xenstore key when using xenconsole. > The cause of this is not yet known, but after this patch it just > results in a harmless error message. > > Reported-by: M A Young <m.a.young@xxxxxxxxxxxx> > Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> > CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx> > CC: George Dunlap <george.dunlap@xxxxxxxxxxxxx> > --- > tools/console/client/main.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/tools/console/client/main.c b/tools/console/client/main.c > index 3242008..add3313 100644 > --- a/tools/console/client/main.c > +++ b/tools/console/client/main.c > @@ -258,6 +258,13 @@ typedef enum { > CONSOLE_SERIAL, > } console_type; > > +static struct termios stdin_old_attr; > + > +static void restore_term_stdin(void) > +{ > + restore_term(STDIN_FILENO, &stdin_old_attr); > +} > + > int main(int argc, char **argv) > { > struct termios attr; > @@ -384,9 +391,9 @@ int main(int argc, char **argv) > } > > init_term(spty, &attr); > - init_term(STDIN_FILENO, &attr); > + init_term(STDIN_FILENO, &stdin_old_attr); > + atexit(restore_term_stdin); /* if this fails, oh dear */ Looks like some sort of tab/space damage, but otherwise: Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > console_loop(spty, xs, path); > - restore_term(STDIN_FILENO, &attr); > > free(path); > free(dom_path); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |