[CRIU] [PATCH 2/3] tty: Mark living peers in tty_active_pairs bitmap
Cyrill Gorcunov
gorcunov at openvz.org
Tue Sep 18 08:34:55 EDT 2012
Will need it to verify that live tty pairs exist.
Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
---
tty.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/tty.c b/tty.c
index 6f23a1a..0b38d06 100644
--- a/tty.c
+++ b/tty.c
@@ -91,6 +91,7 @@ static LIST_HEAD(all_ttys);
*/
#define MAX_TTYS 1024
static DECLARE_BITMAP(tty_bitmap, (MAX_TTYS << 1));
+static DECLARE_BITMAP(tty_active_pairs, (MAX_TTYS << 1));
/*
* /dev/ptmx is a shared resource between all tasks
@@ -923,6 +924,16 @@ static int dump_pty_info(int lfd, u32 id, const struct fd_parms *p, int major, i
if (hangup)
return pb_write_one(fdset_fd(glob_fdset, CR_FD_TTY_INFO), &info, PB_TTY_INFO);
+ /*
+ * Now trace the paired/unpaired ttys. For example
+ * the task might have slave peer assigned but no
+ * master peer. Such "detached" master peers are
+ * not yet supported by our tool and better to
+ * inform a user about such situatio,
+ */
+ if (!hangup || major == TTYAUX_MAJOR)
+ tty_test_and_set(id, tty_active_pairs);
+
if (pty_get_flags(lfd, major, index, &info))
goto out;
--
1.7.7.6
More information about the CRIU
mailing list