X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind.c;h=3a1903ca130032d946a02eba337f32d471109016;hb=addedec48ba0ffc4472ef6d3b5a45c9d4239f1cd;hp=4633a5ef29109c9cf51538dfdc99deb5de96a4fb;hpb=dc4b02006455a4dddeb6ccc1f6656c89d3ebd27c;p=elogind.git diff --git a/src/login/logind.c b/src/login/logind.c index 4633a5ef2..3a1903ca1 100644 --- a/src/login/logind.c +++ b/src/login/logind.c @@ -655,7 +655,6 @@ int manager_dispatch_seat_udev(Manager *m) { return r; } - int manager_dispatch_vcsa_udev(Manager *m) { struct udev_device *d; int r = 0; @@ -906,6 +905,12 @@ static int manager_connect_console(Manager *m) { m->console_active_fd = open("/sys/class/tty/tty0/active", O_RDONLY|O_NOCTTY|O_CLOEXEC); if (m->console_active_fd < 0) { + + /* On certain architectures (S390 and Xen), /dev/tty0 + does not exist, so don't fail if we can't open it.*/ + if (errno == ENOENT) + return 0; + log_error("Failed to open /sys/class/tty/tty0/active: %m"); return -errno; }