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