mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-23 02:17:22 +00:00
tty: Dump a hanging up terminal
If we've met a hanging up terminal we can escape lot of work but dump a minimum information needed for restore. Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
07aa668282
commit
0105e543a7
15
tty.c
15
tty.c
@ -806,16 +806,25 @@ static int dump_pty_info(int lfd, u32 id, const struct fd_parms *p, int major, i
|
|||||||
info.sid = sid;
|
info.sid = sid;
|
||||||
info.pgrp = pgrp;
|
info.pgrp = pgrp;
|
||||||
info.rdev = p->stat.st_rdev;
|
info.rdev = p->stat.st_rdev;
|
||||||
info.termios = &termios;
|
|
||||||
info.termios_locked = &termios_locked;
|
|
||||||
info.winsize = &winsize;
|
|
||||||
info.pty = &pty;
|
info.pty = &pty;
|
||||||
|
|
||||||
pty.index = index;
|
pty.index = index;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Nothing we can do on hangin up terminal,
|
||||||
|
* just write out minimum information we can
|
||||||
|
* gather.
|
||||||
|
*/
|
||||||
|
if (hangup)
|
||||||
|
return pb_write_one(fdset_fd(glob_fdset, CR_FD_TTY_INFO), &info, PB_TTY_INFO);
|
||||||
|
|
||||||
if (pty_get_flags(lfd, major, index, &info))
|
if (pty_get_flags(lfd, major, index, &info))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
info.termios = &termios;
|
||||||
|
info.termios_locked = &termios_locked;
|
||||||
|
info.winsize = &winsize;
|
||||||
|
|
||||||
termios.n_c_cc = TERMIOS_NCC;
|
termios.n_c_cc = TERMIOS_NCC;
|
||||||
termios.c_cc = xmalloc(pb_repeated_size(&termios, c_cc));
|
termios.c_cc = xmalloc(pb_repeated_size(&termios, c_cc));
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user