diff options
-rw-r--r-- | login-utils/sulogin-consoles.c | 8 |
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) { |