summaryrefslogtreecommitdiffstats
path: root/login-utils/sulogin-consoles.c
diff options
context:
space:
mode:
authorJames Clarke2015-10-10 01:29:47 +0200
committerKarel Zak2015-10-16 09:52:16 +0200
commit99eadc9e3f9a6dc012072c97b9d0845ba13974f8 (patch)
treea40907de4f0e0ff12a2c680d8be2046fdf6e1e22 /login-utils/sulogin-consoles.c
parentlibmount: follow docs with parse-error callback return code (diff)
downloadkernel-qcow2-util-linux-99eadc9e3f9a6dc012072c97b9d0845ba13974f8.tar.gz
kernel-qcow2-util-linux-99eadc9e3f9a6dc012072c97b9d0845ba13974f8.tar.xz
kernel-qcow2-util-linux-99eadc9e3f9a6dc012072c97b9d0845ba13974f8.zip
sulogin: Use fallback method on the Hurd for detecting consoles
Signed-off-by: James Clarke <jrtc27@jrtc27.com>
Diffstat (limited to 'login-utils/sulogin-consoles.c')
-rw-r--r--login-utils/sulogin-consoles.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/login-utils/sulogin-consoles.c b/login-utils/sulogin-consoles.c
index 39d24d293..1b05b3800 100644
--- a/login-utils/sulogin-consoles.c
+++ b/login-utils/sulogin-consoles.c
@@ -612,6 +612,14 @@ int detect_consoles(const char *device, int fallback, struct list_head *consoles
#ifdef TIOCGDEV
unsigned int devnum;
#endif
+#ifdef __GNU__
+ /*
+ * The Hurd always gives st_rdev as 0, which causes this
+ * method to select the first terminal it finds.
+ */
+ close(fd);
+ goto fallback;
+#endif
DBG(dbgprint("trying device/fallback file descriptor"));
if (fstat(fd, &st) < 0) {