Zbigniew Jędrzejewski-Szmek 930e1b
From b5f796a636fed8b75fcfbb44f48b808743fca964 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek 930e1b
From: Olivier Brunel <jjk@jjacky.com>
Zbigniew Jędrzejewski-Szmek 930e1b
Date: Fri, 20 Sep 2013 22:18:28 +0200
Zbigniew Jędrzejewski-Szmek 930e1b
Subject: [PATCH] Resolve /dev/console to the active tty instead of just "tty0"
Zbigniew Jędrzejewski-Szmek 930e1b
Zbigniew Jędrzejewski-Szmek 930e1b
When resolving /dev/console one would often get "tty0" meaning the active VT.
Zbigniew Jędrzejewski-Szmek 930e1b
Resolving to the actual tty (e.g. "tty1") will notably help on boot when
Zbigniew Jędrzejewski-Szmek 930e1b
determining whether or not PID1 can output to the console.
Zbigniew Jędrzejewski-Szmek 930e1b
---
Zbigniew Jędrzejewski-Szmek 930e1b
 src/shared/util.c | 10 ++++++++++
Zbigniew Jędrzejewski-Szmek 930e1b
 1 file changed, 10 insertions(+)
Zbigniew Jędrzejewski-Szmek 930e1b
Zbigniew Jędrzejewski-Szmek 930e1b
diff --git a/src/shared/util.c b/src/shared/util.c
Zbigniew Jędrzejewski-Szmek 930e1b
index 6c88040..3fc080a 100644
Zbigniew Jędrzejewski-Szmek 930e1b
--- a/src/shared/util.c
Zbigniew Jędrzejewski-Szmek 930e1b
+++ b/src/shared/util.c
Zbigniew Jędrzejewski-Szmek 930e1b
@@ -3621,6 +3621,16 @@ char *resolve_dev_console(char **active) {
Zbigniew Jędrzejewski-Szmek 930e1b
         else
Zbigniew Jędrzejewski-Szmek 930e1b
                 tty = *active;
Zbigniew Jędrzejewski-Szmek 930e1b
 
Zbigniew Jędrzejewski-Szmek 930e1b
+        if (streq(tty, "tty0")) {
Zbigniew Jędrzejewski-Szmek 930e1b
+                char *tmp;
Zbigniew Jędrzejewski-Szmek 930e1b
+
Zbigniew Jędrzejewski-Szmek 930e1b
+                /* Get the active VC (e.g. tty1) */
Zbigniew Jędrzejewski-Szmek 930e1b
+                if (read_one_line_file("/sys/class/tty/tty0/active", &tmp) >= 0) {
Zbigniew Jędrzejewski-Szmek 930e1b
+                        free(*active);
Zbigniew Jędrzejewski-Szmek 930e1b
+                        tty = *active = tmp;
Zbigniew Jędrzejewski-Szmek 930e1b
+                }
Zbigniew Jędrzejewski-Szmek 930e1b
+        }
Zbigniew Jędrzejewski-Szmek 930e1b
+
Zbigniew Jędrzejewski-Szmek 930e1b
         return tty;
Zbigniew Jędrzejewski-Szmek 930e1b
 }
Zbigniew Jędrzejewski-Szmek 930e1b