From f672c989056871e01ef681f136dbea39def2f836 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Mon, 1 Oct 2012 13:26:51 +0200 Subject: [PATCH] uterm: vt: add fake_activate() and fake_deactivate() hooks This makes uterm_vt_(de)activate() forward the request to fake-VTs, too. The fake-VTs directly forward it to the callbacks. Signed-off-by: David Herrmann --- src/uterm_vt.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/uterm_vt.c b/src/uterm_vt.c index b61710f..ad7686f 100644 --- a/src/uterm_vt.c +++ b/src/uterm_vt.c @@ -418,6 +418,20 @@ static void fake_leave(struct uterm_vt *vt, struct signalfd_siginfo *info) vt_call(vt, UTERM_VT_DEACTIVATE); } +static int fake_activate(struct uterm_vt *vt) +{ + log_debug("activating fake VT due to user request"); + vt_call(vt, UTERM_VT_ACTIVATE); + return 0; +} + +static int fake_deactivate(struct uterm_vt *vt) +{ + log_debug("deactivating fake VT due to user request"); + vt_call(vt, UTERM_VT_DEACTIVATE); + return 0; +} + static bool check_vt_support(void) { if (!access("/dev/tty0", F_OK)) @@ -600,7 +614,7 @@ int uterm_vt_activate(struct uterm_vt *vt) if (vt->mode == UTERM_VT_REAL) return real_activate(vt); else - return -EFAULT; + return fake_activate(vt); } int uterm_vt_deactivate(struct uterm_vt *vt) @@ -611,7 +625,7 @@ int uterm_vt_deactivate(struct uterm_vt *vt) if (vt->mode == UTERM_VT_REAL) return real_deactivate(vt); else - return -EFAULT; + return fake_deactivate(vt); } int uterm_vt_master_new(struct uterm_vt_master **out,